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

ความแตกต่างระหว่าง ArrayList และ LinkedList ใน Java


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