Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java เพิ่มสมาชิกที่หัวและท้าย LinkedList


บทนำ

ในบทความนี้ เราจะเรียนรู้วิธีการเพิ่มสมาชิกที่ตำแหน่งแรก (First) และตำแหน่งสุดท้าย (Last) ของ LinkedList คลาส java.util.LinkedList ทำงานแบบ doubly-linked list การดำเนินการที่เข้าถึงด้วยดัชนีจะเดินทางผ่านลิสต์จากจุดเริ่มต้นหรือจุดสิ้นสุด ขึ้นอยู่กับจุดใดที่ใกล้กว่าดัชนีที่ระบุ

ตัวอย่างการทำงาน

อินพุทตัวอย่าง:

Input list: [Java, Scalaa, C++]

เอาต์พุทที่คาดหวัง:

The list after adding elements is: [JVA, Java, Scalaa, C++, Spark]

อัลกอริทึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศ LinkedList ชื่อ input_list
ขั้นตอนที่ 3 - กำหนดค่า
ขั้นตอนที่ 4 - ใช้ฟังก์ชันสำเร็จรูป addFirst() และ addLast() เพิ่มสมาชิกที่หัวและท้ายตามลำดับ
ขั้นตอนที่ 5 - แสดงผลลัพธ์
ขั้นตอนที่ 6 - จบการทำงาน

ตัวอย่างที่ 1: เขียนในฟังก์ชัน main โดยตรง

import java.util.*;

public class Demo {
    public static void main(String args[]) {
        LinkedList input_list = new LinkedList();
        input_list.add("Java");
        input_list.add("Scalaa");
        input_list.add("C++");
        System.out.println("The list is defined as: " + input_list);
        input_list.addFirst("JVA");
        input_list.addLast("Spark");
        System.out.println("The list after adding elements is: " + input_list);
    }
}

เอาต์พุท

The list is defined as: [Java, Scalaa, C++]
The list after adding elements is: [JVA, Java, Scalaa, C++, Spark]

ตัวอย่างที่ 2: ใช้เมธอดแยก (Object-Oriented Style)

import java.util.*;

public class Demo {
    static void add_elements(LinkedList input_list) {
        input_list.addFirst("JVA");
        input_list.addLast("Spark");
        System.out.println("The list after adding elements is: " + input_list);
    }
    
    public static void main(String args[]) {
        LinkedList input_list = new LinkedList();
        input_list.add("Java");
        input_list.add("Scalaa");
        input_list.add("C++");
        System.out.println("The list is defined as: " + input_list);
        add_elements(input_list);
    }
}

เอาต์พุท

The list is defined as: [Java, Scalaa, C++]
The list after adding elements is: [JVA, Java, Scalaa, C++, Spark]

เมธอดเพิ่มที่หัว/ท้าย LinkedList:

  • addFirst(E e) - เพิ่มที่หัวลิสต์ (O(1))
  • addLast(E e) - เพิ่มที่ท้ายลิสต์ (O(1))
  • push(E e) - เพิ่มที่หัว (เหมือน addFirst ใช้สำหรับ stack)
  • offerFirst(E e) / offerLast(E e) - เพิ่มที่หัว/ท้าย คืนค่า boolean