What is the difference between Set and List?

Johanna picture Johanna · Jun 23, 2009 · Viewed 587.3k times · Source

What is the fundamental difference between the Set<E> and List<E> interfaces?

Answer

Andrew Hare picture Andrew Hare · Jun 23, 2009

List is an ordered sequence of elements whereas Set is a distinct list of elements which is unordered (thank you, Quinn Taylor).

List<E>:

An ordered collection (also known as a sequence). The user of this interface has precise control over where in the list each element is inserted. The user can access elements by their integer index (position in the list), and search for elements in the list.

Set<E>:

A collection that contains no duplicate elements. More formally, sets contain no pair of elements e1 and e2 such that e1.equals(e2), and at most one null element. As implied by its name, this interface models the mathematical set abstraction.