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]