Subjects

All subjects Django Java Python React Spring Boot JavaScript PHP
Sign Up Free
Interview question

What is the difference between ArrayList and LinkedList? ArrayList और LinkedList में क्या अंतर है?

Answer
AspectArrayListLinkedList
Internal structureDynamic arrayDoubly linked list
Random access (get(i))O(1) - fastO(n) - slow, must traverse
Insert/delete at start/middleO(n) - shifts elementsO(1) once position is found
Memory overheadLower (contiguous array)Higher (node pointers)
List<Integer> arrayList = new ArrayList<>();
arrayList.add(1);
arrayList.add(2);
arrayList.get(0);  // O(1) - direct index access

List<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.get(0);  // O(n) - traverses from head

// LinkedList implements Deque - efficient at both ends
LinkedList<Integer> deque = new LinkedList<>();
deque.addFirst(1);   // O(1)
deque.addLast(2);     // O(1)
deque.removeFirst();  // O(1)

// Rule of thumb: ArrayList for frequent random access/reads,
// LinkedList for frequent insertions/deletions at the ends
पहलूArrayListLinkedList
Internal structureDynamic arrayDoubly linked list
Random accessO(1) - तेज़O(n) - धीमा
Insert/delete शुरुआत/बीच मेंO(n)O(1) position मिलने पर
List<Integer> arrayList = new ArrayList<>();
arrayList.add(1);
arrayList.get(0);  // O(1)

List<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.get(0);  // O(n)

LinkedList<Integer> deque = new LinkedList<>();
deque.addFirst(1);
deque.addLast(2);
deque.removeFirst();

// नियम: बार-बार read के लिए ArrayList,
// बार-बार insert/delete ends पर के लिए LinkedList

Was this answer clear?