บทนำ
ในบทความนี้ เราจะเรียนรู้วิธีการเพิ่มสมาชิกที่ตำแหน่งแรก (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