Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 39

ArrayList vs LinkedList

दो तरह की List

ArrayList और LinkedList दोनों Lists हैं — क्रमित collections जो duplicates allow करती हैं — पर ये data अलग तरह store करती हैं। यह उनकी speed को प्रभावित करता है: ArrayList index से access को तेज़, जबकि LinkedList बीच में insert या remove को तेज़।

💡 ArrayList = तेज़ access (अंदर array)। LinkedList = बीच में तेज़ insert/remove (linked nodes)।

ArrayList

import java.util.ArrayList;

ArrayList<String> list = new ArrayList<>();
list.add("A");
list.add("B");
System.out.println(list.get(0));   // तेज़ index access
A

ArrayList items को resizable array में store करती है। index से item लेना (get(0)) बहुत तेज़ है। यह ज़्यादातर रोज़ की ज़रूरतों को default List है।

LinkedList

import java.util.LinkedList;

LinkedList<String> list = new LinkedList<>();
list.add("A");
list.addFirst("Start");   // सामने तेज़ add
System.out.println(list);
[Start, A]

LinkedList items को जुड़े nodes के रूप में store करती है। शुरू या बीच में जोड़ना/हटाना तेज़ है क्योंकि कोई elements shift नहीं करने पड़ते। इसमें addFirst जैसी सुविधाजनक methods भी हैं।

ये data कैसे store करती हैं

  • ArrayList — एक निरंतर array; हर item एक numbered slot पर बैठता है।
  • LinkedList — अलग nodes, हर एक value साथ में अगले node का link रखता है।

यह अंदरूनी अंतर उनकी अलग ताक़तों का कारण है।

Speed के अंतर

  • Index से access: ArrayList तेज़ (सीधे वहाँ कूदती है); LinkedList धीमी (node-दर-node चलती है)।
  • बीच में insert/remove: LinkedList तेज़ (बस relink); ArrayList धीमी (elements shift)।
  • Memory: ArrayList हल्की; LinkedList अतिरिक्त links store करती है।

तुलना

बातArrayListLinkedList
Store asArrayLinked nodes
Index से accessतेज़धीमी
बीच में insert/removeधीमीतेज़
Memoryकमज़्यादा
किसके लिएपढ़ना/accessबार-बार insert/remove

आम गलतियाँ

  • LinkedList को default इस्तेमाल करना। ज़्यादातर मामलों को ArrayList तेज़ और हल्की है।
  • LinkedList पर random access। loop में get(i) धीमा है — बचिए।
  • जो operation सबसे ज़्यादा करें उसे अनदेखा करना। access बनाम insert/remove के आधार पर चुनिए।
  • यह भूलना दोनों Lists हैं। वे List methods साझा करती हैं, तो बदलना आसान है।

सारांश

  • दोनों Lists हैं; अंतर है वे data कैसे store करती हैं।
  • ArrayList array इस्तेमाल करती है — तेज़ access, कम memory।
  • LinkedList nodes इस्तेमाल करती है — बीच में तेज़ insert/remove।
  • Default ArrayList; बार-बार बीच बदलाव को LinkedList इस्तेमाल कीजिए।
  • LinkedList पर loop में index access से बचिए।

आगे, बड़ी तस्वीर दोहराइए Collections Framework में, या maps तुलना कीजिए HashMap vs Hashtable में।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

ArrayList और LinkedList में क्या अंतर है?
दोनों Lists हैं, पर ArrayList items को बढ़ने योग्य array में store करती है, index से तेज़ access देकर। LinkedList items को जुड़े nodes के रूप में store करती है, बीच में तेज़ insertion और removal देकर। इस आधार पर चुनिए कि आप कौन-सा operation सबसे ज़्यादा करते हैं।
ArrayList कब इस्तेमाल करूँ?
ArrayList तब जब आप ज़्यादातर items index से पढ़ें या access करें, जो आम मामला है। यह get(i) को तेज़ है और कम memory इस्तेमाल करती है। ज़्यादातर programs ArrayList को default रखते हैं।
LinkedList कब इस्तेमाल करूँ?
LinkedList तब जब आप शुरू या बीच में बार-बार items जोड़ें या हटाएँ, क्योंकि यह array की तरह elements shift नहीं करती। यह queue या deque के रूप में भी उपयोगी है।
ArrayList access को तेज़ क्यों है?
ArrayList नीचे array इस्तेमाल करती है, तो यह किसी भी index पर एक step में सीधे कूद सकती है। LinkedList को index तक पहुँचने को शुरू से node-दर-node चलना पड़ता है, जो random access को धीमा है।
ArrayList और LinkedList में कौन ज़्यादा memory इस्तेमाल करती है?
LinkedList ज़्यादा memory इस्तेमाल करती है क्योंकि हर node अगले (और पिछले) node के links भी store करता है। ArrayList सिर्फ़ values एक compact array में store करती है, तो यह हल्की है।
← Back to Java Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicHashMap vs HashTable आपकी प्रगति: 39 / 61 (64%) · Lesson 40 / 61 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें