Though the Map interface is part of collections framework, it does not extend collection interface. This is by design, and the answer to this questions is best described in Sun's FAQ Page: This was by design. We feel that mappings are not collections and collections are not mappings. Thus, it makes little sense for Map to extend the Collection interface (or vice versa). If a Map is a Collection, what are the elements? The only reasonable answer is "Key-value pairs", but this provides a very limited (and not particularly useful) Map abstraction. You can't ask what value a given key maps to, nor can you delete the entry for a given key without knowing what value it maps to. Collection could be made to extend Map, but this raises the question: what are the keys? There's no really satisfactory answer, and forcing one leads to an unnatural interface. Maps can be viewed as Collections (of keys, values, or pairs), and this fact is reflected in the three "Collection view operations" on Maps (keySet, entrySet, and values). While it is, in principle, possible to view a List as a Map mapping indices to elements, this has the nasty property that deleting an element from the List changes the Key associated with every element before the deleted element. That's why we don't have a map view operation on Lists.
Java
Topic: Collection Framework
Set & List interface extend Collection, so Why doesn't Map interface extend Collection?
Browse random answers:
What are the goals of collections framework?
Explain the contents of collection framework?
Explain interfaces of collectonframework?
Explain the collection classes?
Explain algorithms in collection framework?
How to use an Iterator ?
How to use an Comparator ?
What is the difference between java.util.Iterator and java.util.ListIterator?
What is HashMap and Map?
Difference between HashMap and HashTable? Compare Hashtable vs HashMap?
What does synchronized means in Hashtable context?
What is fail-fast property?
Why doesn't Collection extend Cloneable and Serializable?
How can we make Hashmap synchronized?
Where will you use Hashtable and where will you use HashMap?
Difference between Vector and ArrayList? What is the Vector class?
What is the Difference between Enumeration and Iterator interface?
Why Java Vector class is considered obsolete or unofficially deprecated? or Why should I always use ArrayList over Vector?
What is an enumeration?
What is the difference between Enumeration and Iterator?
Where will you use Vector and where will you use ArrayList?
What is the importance of hashCode() and equals() methods? How they are used in Java?
What is the difference between Sorting performance of Arrays.sort() vs Collections.sort() ? Which one is faster? Which one to use and when?
What is java.util.concurrent BlockingQueue? How it can be used?
Set & List interface extend Collection, so Why doesn't Map interface extend Collection?
Which implementation of the List interface provides for the fastest insertion of a new element into the middle of the list?
What is the difference between ArrayList and LinkedList? (ArrayList vs LinkedList.)
Where will you use ArrayList and Where will you use LinkedList? Or Which one to use when (ArrayList / LinkedList).
What is performance of Map interface implementations
What is Performance of Set interface implementations
What is Performance of List interface implementations