কম্পিউটার টিউটোরিয়াল

জাভাতে ArrayList এবং LinkedList-এর পার্থক্য

ArrayList এবং LinkedList দুটোই Java-তে List ইন্টারফেসের ইমপ্লিমেন্টেশন। দুটোই নন-সিঙ্ক্রোনাইজড। কিন্তু কিছু পার্থক্য আছে।

ArrayList এবং LinkedList-এর মধ্যে গুরুত্বপূর্ণ পার্থক্য

ক্র. নং কী ArrayList LinkedList
১ ইন্টারন্যাল ইমপ্লিমেন্টেশন (Internal Implementation) ArrayList ইন্টারন্যালি ডাইনামিক অ্যারে (dynamic array) ব্যবহার করে এলিমেন্ট সংরক্ষণ করে। LinkedList ডাবলি লিংকড লিস্ট (Doubly Linked List) ব্যবহার করে এলিমেন্ট সংরক্ষণ করে।
২ ম্যানিপুলেশন (Manipulation) ArrayList-এ অ্যারে ম্যানিপুলেশন স্লো হওয়ায় এড/রিমুভ অপারেশন ধীর। LinkedList নোড-ভিত্তিক হওয়ায় বিট শিফটিং (bit shifting) প্রয়োজন নেই, তাই ম্যানিপুলেশন দ্রুত।
৩ ইমপ্লিমেন্টেশন (Implementation) ArrayList শুধু List ইমপ্লিমেন্ট করে। LinkedList List এবং Queue দুটোই ইমপ্লিমেন্ট করে; এটি কিউ (Queue) হিসেবেও কাজ করতে পারে।
৪ অ্যাক্সেস (Access) ArrayList ডেটা সংরক্ষণ ও অ্যাক্সেস করার ক্ষেত্রে দ্রুত। LinkedList ডেটা ম্যানিপুলেশন (অড/রিমুভ) করার ক্ষেত্রে দ্রুত।

ArrayList vs 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 list = new ArrayList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");

        List list1 = new LinkedList<>();
        list1.add("A");
        list1.add("B");
        list1.add("C");
        list1.add("D");

        System.out.println(list);
        System.out.println(list1);
    }
}

আউটপুট

[A, B, C, D]
[A, B, C, D]
  1. জাভাতে ArrayList এবং CopyOnWriteArrayList-এর পার্থক্য

  2. জাভাতে Iterator এবং ListIterator-এর পার্থক্য

  3. জাভাতে Collection এবং Collections-এর পার্থক্য

  4. জাভাতে wait() এবং sleep() মেথডের পার্থক্য