Java: Set<E> interface

Only one. Sets are collections that allow only one object with a given value in them. The java.util.Set<E> interface is a subinterface of Collection<E>. There are two very useful concrete classes that implement the Set<E> interface:

Set<E> interface has all Collection<E> interface methods

Sets implement all Collection methods.

HashSet<E> class constructors

HashSet<E> is implemented with an underlying HashMap. In addition to implemented the Set interface methods, HashSet has the following constructors.

ResultConstructorDescription
hset = new HashSet<E>() Creates a new HashSet with default initial capacity 16 and load factor 0.75.
hset = new HashSet<E>(initialCapacity) Creates a new HashSet with the specified initial int capacity.
hset = new HashSet<E>(initialCapacity, loadFactor) Creates a new HashSet with the specified capacity which will not exceed a specified (float) load factor.
hset = new HashSet<E>(coll) Creates a new HashSet with elements from the Collection coll

SortedSet interface methods

The SortedSet interface is used by TreeSet and adds additional methods to reflect that a TreeSet is sorted.

SortedSet<E> sset;
ResultMethodDescription
comp = sset.comparator() Returns Comparator used to compare elements. null if natural ordering used (eg, String).
obj = sset.firstKey() First element (in sorted order).
obj = sset.lastKey() Last element (in sorted order).
sset = sset.headMap(obj) Returns SortedSet of all elements less than obj.
sset = sset.tailMap(obj) Returns SortedSet of all elements greater than or equal to obj.
sset = sset.subMap(from, to) Returns SortedSet of all elements greater than or equal to from and less than to.

TreeSet<E> class constructors

TreeSet implements the Set and SortedSet interface methods. TreeSet is implemented with an underlying TreeMap (balanced binary tree). If the element type has a natural order (eg, String) elements will be ordered by that, but often you will supply a Comparator object that tells how two elements compare. It has the following constructors.

ResultConstructorDescription
tset = new TreeSet<E>() Creates new TreeSet. Elements sorted by natural order.
tset = new TreeSet<E>(comp) Creates new TreeSet using Comparator comp to sort elements.
tset = new TreeSet<E>(coll) Creates new TreeSet from Collection coll using natural ordering.
tset = new TreeSet<E>(sset) Creates new TreeSet from SortedSet smp using element ordering from sset.