This interface is the least common denominator that all collections implement. Collection is used to pass collections around and manipulate them when maximum generality is desired. A Set is a collection that cannot contain duplicate elements. As you might expect, this interface models the mathematical set abstraction. It is used to represent sets like the cards comprising a poker hand, the courses making up a student's schedule, or the processes running on a machine.
Lists can contain duplicate elements.
The user of a List generally has precise control over where in the List each element is inserted. If you've used Vector , you're already familiar with the general flavor of List . Map A Map is an object that maps keys to values. If you've used Hashtable , you're already familiar with the general flavor of Map . In order to understand these interfaces, you have to know how order is maintained among objects.