This is because the two interfaces have a very different semantics. Following points can be provided to support this:
Collectionis a collection of objects whereasMapis a collection of key value pairs.- Few methods implemented by
Collectioninterface are incompatible withMapinterface. For exampleadd(Object)method ofCollectionis logically incompatible withMap. What will this method mean for a Map? Add a key or add a value? - Same applies to methods which are used to remove elements. For a collection it means to remove an element. But what will it mean for a
Map? Remove a key or remove a value? - Collection’s iterator returns iterator over values. If
HashMapwould have extendedCollection, what would iterator over aMapreturn? Iterator over keys or values? - All collections provide constructor which accepts another collection. Thus we can create a particular type of collection using a different type of collection. This is because a
Collectionis a collection of single values. But in case ofMapit will not be possible. What will this constructor now create from aMap? A collection of keys or collection of values?
