The Java Collections Framework is a fundamental topic in interviews. Here's a curated list of commonly asked Java Collections questions to help you crack your next technical round with confidence!
1️⃣ What is the Java Collections Framework?
It is a set of classes and interfaces that implement commonly reusable collection data structures like List, Set, Map, Queue, etc.
2️⃣ What are the key interfaces in the Collections Framework?
- Collection
- List
- Set
- Queue
- Map (not a part of Collection hierarchy)
3️⃣ What is the difference between List and Set?
- List: Allows duplicates, maintains insertion order.
- Set: Does not allow duplicates, no guaranteed order.
4️⃣ Explain HashSet vs TreeSet
- HashSet: Unordered, backed by HashMap.
- TreeSet: Sorted in natural order, backed by TreeMap.
5️⃣ Difference between ArrayList and LinkedList?
- ArrayList: Better for search, index-based operations.
- LinkedList: Better for frequent insertions/deletions.
6️⃣ What is the difference between HashMap and Hashtable?
- HashMap: Not synchronized, allows one null key and multiple null values.
- Hashtable: Synchronized, doesn’t allow null keys or values.
7️⃣ What is the difference between HashMap and TreeMap?
- HashMap: Unordered, faster.
- TreeMap: Sorted by keys, slower.
8️⃣ What is the difference between Collection and Collections?
- Collection: Interface.
- Collections: Utility class with static methods like
sort()
,shuffle()
.
9️⃣ How does HashMap work internally?
HashMap uses an array of buckets. It uses the hashCode() and equals() methods to store and retrieve key-value pairs efficiently.
🔟 What is a ConcurrentHashMap?
Thread-safe version of HashMap. It allows concurrent reads and segmented locking for writes.
1️⃣1️⃣ What are fail-fast and fail-safe iterators?
- Fail-fast: Throws ConcurrentModificationException (e.g., ArrayList, HashMap).
- Fail-safe: Don’t throw exception (e.g., ConcurrentHashMap, CopyOnWriteArrayList).
1️⃣2️⃣ What is the difference between Iterator and ListIterator?
- Iterator: One-way traversal.
- ListIterator: Two-way traversal, can add/set elements.
1️⃣3️⃣ How can you synchronize a collection?
Using Collections.synchronizedList(list)
or using concurrent classes.
1️⃣4️⃣ What is the default capacity of ArrayList?
Default capacity is 10.
1️⃣5️⃣ How do you sort a List of custom objects?
Using Collections.sort(list, comparator)
or implementing Comparable
.
🧠Pro Tip
Always remember internal implementations — like how HashMap handles collisions (chaining) or TreeMap's use of Red-Black Trees. These are high-value points in interviews.
📌 Conclusion
Understanding Java Collections is crucial for any Java developer. These interview questions will give you a strong edge in technical rounds. Practice writing code for each collection to gain real understanding.