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:
java.util.HashSet<E>
is implemented with a hash table. Access time is O(1). Entries are unsorted.java.util.TreeSet<E>
is implemented as a balanced binary tree. Access time is O(log N). Entries are sorted.
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.
Result | Constructor | Description |
---|---|---|
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;
Result | Method | Description |
---|---|---|
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.
Result | Constructor | Description |
---|---|---|
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. |