Collection vs Map: What is Difference?
In Java, Collection and Map are two key parts of the Java Collection Framework (JCF), but they have distinct roles:
Collectionis a root interface that represents a group of objects (likeList,Set,Queue).Mapis a separate interface used for key-value pair storage.
1. What is Collection?
Collection is the root interface for all collections that store a group of objects in Java.
Features of Collection Interface:
✔ Represents a group of elements (single values).
✔ Extended by List, Set, and Queue.
✔ Provides methods like add(), remove(), size(), contains().
✔ Does not store key-value pairs (only elements).
✔ Cannot be instantiated directly (must use classes like ArrayList or HashSet).
Collection Hierarchy
plaintextCopy codeCollection (Interface)
├── List (Interface) → ArrayList, LinkedList, Vector
├── Set (Interface) → HashSet, TreeSet, LinkedHashSet
└── Queue (Interface) → PriorityQueue, Deque
Example Using Collection Interface
import java.util.*;
public class CollectionExample {
public static void main(String[] args) {
Collection<String> names = new ArrayList<>(); // Collection reference
names.add("Sujit");
names.add("Patel");
System.out.println(names); // Output: [Sujit, Patel]
}
}
🔹 Here, Collection is used to store individual elements.
2. What is Map?
Map is an interface that stores key-value pairs (not a subtype of Collection).
Features of Map Interface:
✔ Stores key-value pairs (key → value).
✔ Keys are unique (no duplicates), but values can be duplicated.
✔ Provides methods like put(), get(), remove(), containsKey(), containsValue().
✔ Implemented by HashMap, TreeMap, LinkedHashMap, Hashtable.
✔ Does not extend Collection because it works differently (keys + values).
Map Hierarchy
plaintextCopy codeMap (Interface)
├── HashMap
├── TreeMap
├── LinkedHashMap
└── Hashtable
Example Using Map Interface
import java.util.*;
public class MapExample {
public static void main(String[] args) {
Map<Integer, String> studentMap = new HashMap<>(); // Map reference
studentMap.put(1, "Sujit");
studentMap.put(2, "Patel");
System.out.println(studentMap.get(1)); // Output: Sujit
}
}
🔹 Here, Map stores key-value pairs, allowing quick lookups using keys.
3. Key Differences Between Collection and Map
| Feature | Collection | Map |
|---|---|---|
| Type | Interface | Interface |
| Function | Stores a group of objects | Stores key-value pairs |
| Duplicates | Depends on List (allows) or Set (disallows) | Keys must be unique, but values can be duplicated |
| Order of Elements | List maintains order, Set does not | HashMap is unordered, TreeMap is sorted |
| Key-Value Storage | No (only individual elements) | Yes (key-value pairs) |
| Implementations | ArrayList, HashSet, LinkedList | HashMap, TreeMap, LinkedHashMap |
4. When to Use Collection vs Map?
- Use
Collectionwhen storing a group of elements (List,Set,Queue). - Use
Mapwhen storing key-value pairs and needing quick lookups.
5. Conclusion
Collectionis a root interface for data structures likeList,Set, andQueue.Mapis a separate interface used for key-value storage.Mapdoes not extendCollectionbecause it follows a different structure.
Would you like a comparison between HashMap and TreeMap? 🚀