According to http://docs.oracle.com/javase/tutorial/collections/interfaces/index.html there are two top level interfaces called collection and map.
Whats the exact reason for separating these two ?
Is it that all key value data structures implement the map interface and all others implement the collections interface ?
Yes, That's correct! Check all the List classes and then check all the Map related classes.
and there is this awesome discussion, ob this question
List vs Map in Java
Visually
This is a collection, by this you know that the books are there and it's in order like 0,1,2,3...

But in a Map, the books are in memory unordered but for the computer's convenience it has a key to find the books, like in a library.

A Map is a structure that has unique keys mapping to values. A Collection is just a grouping of multiple values with no specific key.
You can do the same comparison between a List and a Map to see the differences. This SO question deals with these differences.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With