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

สารบัญ:

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

วีดีโอ: ความแตกต่างระหว่าง ArrayList และ LinkedList

วีดีโอ: ความแตกต่างระหว่าง ArrayList และ LinkedList
วีดีโอ: LinkedList vs ArrayList in Java Tutorial - Which Should You Use? 2024, กรกฎาคม
Anonim

ความแตกต่างที่สำคัญ – ArrayList vs LinkedList

คอลเลกชันมีประโยชน์สำหรับการจัดเก็บข้อมูล ในอาร์เรย์ปกติ ขนาดอาร์เรย์จะคงที่ บางครั้งจำเป็นต้องสร้างอาร์เรย์ที่สามารถเติบโตได้ตามต้องการ ภาษาการเขียนโปรแกรมเช่น Java มีคอลเล็กชัน เป็นเฟรมเวิร์กที่มีชุดของคลาสและอินเทอร์เฟซ มันทำหน้าที่เป็นภาชนะสำหรับกลุ่มขององค์ประกอบ คอลเล็กชันอนุญาตให้จัดเก็บ อัปเดต เรียกชุดองค์ประกอบ ช่วยในการทำงานกับโครงสร้างข้อมูล เช่น รายการ ชุด ต้นไม้ และแผนที่ รายการนี้เป็นอินเทอร์เฟซของกรอบงานการรวบรวม ArrayList และ LinkedList เป็นสองคลาสในเฟรมเวิร์กคอลเล็กชัน พวกเขาใช้อินเทอร์เฟซการรวบรวมและอินเทอร์เฟซรายการบทความนี้กล่าวถึงความแตกต่างระหว่าง ArrayList และ LinkedList ArrayList เป็นคลาสที่ขยาย AbstractList และใช้อินเทอร์เฟซ List ซึ่งใช้อาร์เรย์ไดนามิกภายในเพื่อจัดเก็บองค์ประกอบข้อมูล LinkedList เป็นคลาสที่ขยาย AbstractSequentialList และใช้อินเทอร์เฟซ List, Deque และ Queue ซึ่งใช้รายการที่เชื่อมโยงภายในเป็นสองเท่าเพื่อจัดเก็บองค์ประกอบข้อมูล นั่นคือข้อแตกต่างที่สำคัญระหว่าง ArrayList และ LinkedList

ArrayList คืออะไร

คลาส ArrayList ใช้สำหรับสร้างไดนามิกอาร์เรย์ ไม่เหมือนกับอาร์เรย์ทั่วไป ขนาดของอาร์เรย์ไดนามิกจะไม่คงที่ วัตถุที่สร้างโดยใช้คลาส ArrayList ได้รับอนุญาตให้เก็บชุดขององค์ประกอบในรายการ ความจุเพิ่มขึ้นโดยอัตโนมัติ ดังนั้นโปรแกรมเมอร์จึงสามารถเพิ่มองค์ประกอบลงในรายการได้ คลาส ArrayList ขยายคลาส AbstractList ที่ใช้อินเทอร์เฟซรายการ ดังนั้นเมธอดของอินเทอร์เฟซ List จึงสามารถใช้ได้โดย ArrayList ในการเข้าถึงองค์ประกอบ ใช้เมธอด get()วิธีการ add() สามารถใช้เพื่อเพิ่มองค์ประกอบในรายการ วิธีการลบ () ใช้เพื่อลบองค์ประกอบออกจากรายการ อ้างอิงโปรแกรมด้านล่าง

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

รูปที่ 01: ตัวอย่าง ArrayList

ตามโปรแกรมด้านบน วัตถุของ ArrayList จะถูกสร้างขึ้น คุณสามารถเพิ่มองค์ประกอบไดนามิกโดยใช้วิธีการเพิ่ม องค์ประกอบ “A”,”B”,”C”,”D” และ “E” ถูกเพิ่มโดยใช้วิธีการเพิ่ม วิธีการลบใช้เพื่อลบองค์ประกอบออกจากรายการ เมื่อส่งผ่าน 4 ไปยังวิธีการลบ ตัวอักษรในดัชนีที่ 4 คือ “E” จะถูกลบออกจากรายการ เมื่อวนซ้ำรายการโดยใช้ลูป for ตัวอักษร A, B, C และ D จะพิมพ์ออกมา

LinkedList คืออะไร

คล้ายกับ ArrayList LinkedList ใช้เพื่อจัดเก็บองค์ประกอบข้อมูลแบบไดนามิก วัตถุที่สร้างขึ้นโดยใช้คลาส LinkedList ได้รับอนุญาตให้เก็บชุดขององค์ประกอบในรายการ ความจุเพิ่มขึ้นโดยอัตโนมัติ ดังนั้นโปรแกรมเมอร์จึงสามารถเพิ่มองค์ประกอบลงในรายการได้ ภายในใช้รายการที่เชื่อมโยงเป็นสองเท่าเพื่อเก็บข้อมูล ในรายการที่เชื่อมโยงแบบทวีคูณ ข้อมูลจะถูกเก็บไว้เป็นโหนด แต่ละโหนดมีสองลิงก์ ลิงค์แรกชี้ไปที่โหนดก่อนหน้า ลิงค์ถัดไปชี้ไปที่โหนดถัดไปในลำดับ

คลาส LinkedList ขยายคลาส AbstractSequentialList และใช้อินเทอร์เฟซรายการ ดังนั้นเมธอดของอินเทอร์เฟซ List จึงสามารถใช้ได้โดย LinkedList สามารถใช้เมธอด get() เพื่อเข้าถึงองค์ประกอบของรายการ วิธีการ add() สามารถใช้เพื่อเพิ่มองค์ประกอบในรายการ วิธีการลบ () ใช้เพื่อลบองค์ประกอบออกจากรายการ อ้างอิงโปรแกรมด้านล่าง

ความแตกต่างที่สำคัญระหว่าง ArrayList และ LinkedList
ความแตกต่างที่สำคัญระหว่าง ArrayList และ LinkedList
ความแตกต่างที่สำคัญระหว่าง ArrayList และ LinkedList
ความแตกต่างที่สำคัญระหว่าง ArrayList และ LinkedList

รูปที่ 02: ตัวอย่างกับ LinkedList

ตามโปรแกรมด้านบน วัตถุของ LinkedList จะถูกสร้างขึ้น คุณสามารถเพิ่มองค์ประกอบไดนามิกโดยใช้วิธีการเพิ่ม องค์ประกอบ “A”,”B”,”C”,”D” และ “E” ถูกเพิ่มโดยใช้วิธีการเพิ่ม วิธีการลบใช้เพื่อลบองค์ประกอบออกจากรายการ เมื่อส่งผ่าน 4 ไปยังวิธีการลบ ตัวอักษรในดัชนีที่ 4 คือ “E” จะถูกลบออกจากรายการ เมื่อวนซ้ำโดยใช้ for loop ตัวอักษร A, B, C และ D จะพิมพ์ออกมา

ความคล้ายคลึงกันระหว่าง ArrayList และ LinkedList คืออะไร

  • ทั้ง ArrayList และ LinkedList ใช้อินเทอร์เฟซรายการ
  • ทั้ง ArrayList และ LinkedList สามารถมีองค์ประกอบที่ซ้ำกัน
  • ทั้ง ArrayList และ LinkedList รักษาลำดับการแทรก

ArrayList และ LinkedList ต่างกันอย่างไร

ArrayList กับ LinkedList

ArrayList เป็นคลาสที่ขยาย AbstractList และใช้อินเทอร์เฟซรายการซึ่งใช้อาร์เรย์ไดนามิกภายในเพื่อจัดเก็บองค์ประกอบข้อมูล LinkedList เป็นคลาสที่ขยาย AbstractSequentialList และใช้อินเทอร์เฟซ List, Deque, Queue ซึ่งใช้รายการที่เชื่อมโยงภายในเป็นสองเท่าเพื่อจัดเก็บองค์ประกอบข้อมูล
การเข้าถึงองค์ประกอบ
การเข้าถึงองค์ประกอบของ ArrayList นั้นเร็วกว่า LinkedList การเข้าถึงองค์ประกอบของ LinkedList ช้ากว่า ArrayList
จัดการองค์ประกอบ
การจัดการองค์ประกอบของ ArrayList ช้ากว่า LinkedList การจัดการองค์ประกอบของ LinkedList นั้นเร็วกว่า ArrayList
พฤติกรรม
ArrayList ดำเนินการเป็นรายการ LinkedList ดำเนินการเป็นรายการและคิว

สรุป – ArrayList vs LinkedList

เฟรมเวิร์กการรวบรวมช่วยให้ทำงานกับโครงสร้างข้อมูล เช่น รายการ ต้นไม้ แผนที่ และชุด รายการเป็นส่วนต่อประสานของกรอบงานการรวบรวม บทความนี้กล่าวถึงความแตกต่างระหว่าง ArrayList และ LinkedList ArrayList เป็นคลาสที่ขยาย AbstractList และใช้อินเทอร์เฟซ List ที่ใช้อาร์เรย์ไดนามิกภายในเพื่อจัดเก็บองค์ประกอบข้อมูลLinkedList เป็นคลาสที่ขยาย AbstractSequentialList และใช้อินเทอร์เฟซ List, Deque, Queue ซึ่งใช้รายการที่เชื่อมโยงภายในเป็นสองเท่าเพื่อจัดเก็บองค์ประกอบข้อมูล นั่นคือความแตกต่างระหว่าง ArrayList และ LinkedList

แนะนำ: