ทั้ง ArrayList และ LinkedList ใช้งานอินเทอร์เฟซรายการใน Java ทั้งสองคลาสไม่ซิงโครไนซ์ แต่ก็มีความแตกต่างบางอย่างเช่นกัน
ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่างวิธี ArrayList และ LinkedList
| ซีเนียร์ เลขที่ | Key | ArrayList | LinkedList |
|---|---|---|---|
| 1 | การใช้งานภายใน | ArrayList ภายในใช้อาร์เรย์ไดนามิกเพื่อจัดเก็บองค์ประกอบ | LinkedList ใช้ Doubly Linked List เพื่อจัดเก็บองค์ประกอบ |
| 2 | การจัดการ | ArrayList ทำงานช้าเนื่องจากการจัดการอาร์เรย์ช้าลง | LinkedList นั้นเร็วกว่าเมื่ออิงจากโหนดเนื่องจากไม่ต้องการการขยับบิตมากนัก |
| 3 | การนำไปใช้ | ArrayList ใช้ List เท่านั้น | LinkedList ใช้ List เช่นเดียวกับ Queue ก็สามารถทำหน้าที่เป็นคิวได้เช่นกัน |
| 4 | การเข้าถึง | ArrayList เร็วกว่าในการจัดเก็บและเข้าถึงข้อมูล | LinkedList นั้นเร็วกว่าในการจัดการข้อมูล |
ตัวอย่าง ArrayList เทียบกับ LinkedList
JavaTester.java
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class JavaTester {
public static void main(String args[]) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
List<String> list1 = new LinkedList<>();
list1.add("A");
list1.add("B");
list1.add("C");
list1.add("D");
System.out.println(list);
System.out.println(list1);
}
} ผลลัพธ์t
[A, B, C, D] [A, B, C, D]