ArrayList और LinkedList दोनों Java में List इंटरफ़ेस के कार्यान्वयन हैं। दोनों क्लासेज़ नॉन-सिंक्रनाइज़्ड हैं। लेकिन कुछ अंतर भी हैं।
ArrayList और LinkedList मेथड के बीच महत्वपूर्ण अंतर निम्नलिखित हैं:
| क्र. सं. | मुख्य बिंदु | ArrayList | LinkedList |
|---|---|---|---|
| 1 | आंतरिक कार्यान्वयन | ArrayList आंतरिक रूप से अपने एलिमेंट्स को स्टोर करने के लिए डायनामिक ऐरे का उपयोग करता है। | LinkedList अपने एलिमेंट्स को स्टोर करने के लिए डबल लिंक्ड लिस्ट का उपयोग करता है। |
| 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);
}
}आउटपुट
[A, B, C, D] [A, B, C, D]