ทั้ง 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]