public class ObjectArraySet<K> extends AbstractObjectSet<K> implements Serializable, Cloneable
The main purpose of this implementation is that of wrapping cleanly the brute-force approach to the storage of a very small number of items: just put them into an array and scan linearly to find an item.
Constructor and Description |
---|
ObjectArraySet()
Creates a new empty array set.
|
ObjectArraySet(Collection<? extends K> c)
Creates a new array set copying the contents of a given set.
|
ObjectArraySet(int capacity)
Creates a new empty array set of given initial capacity.
|
ObjectArraySet(Object[] a)
Creates a new array set using the given backing array.
|
ObjectArraySet(Object[] a,
int size)
Creates a new array set using the given backing array and the given number of elements of the array.
|
ObjectArraySet(ObjectCollection<K> c)
Creates a new array set copying the contents of a given collection.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(K k) |
void |
clear() |
ObjectArraySet<K> |
clone()
Returns a deep copy of this set.
|
boolean |
contains(Object k) |
boolean |
isEmpty() |
ObjectIterator<K> |
iterator()
Returns a type-specific iterator on the elements of this collection.
|
boolean |
remove(Object k)
Removes an element from this set.
|
int |
size() |
equals, hashCode
addAll, containsAll, objectIterator, removeAll, retainAll, toArray, toArray, toString
objectIterator, toArray
public ObjectArraySet(Object[] a)
It is responsibility of the caller that the elements of a
are distinct.
a
- the backing array.public ObjectArraySet()
public ObjectArraySet(int capacity)
capacity
- the initial capacity.public ObjectArraySet(ObjectCollection<K> c)
c
- a collection.public ObjectArraySet(Collection<? extends K> c)
c
- a collection.public ObjectArraySet(Object[] a, int size)
It is responsibility of the caller that the first size
elements of a
are distinct.
a
- the backing array.size
- the number of valid elements in a
.public ObjectIterator<K> iterator()
ObjectCollection
Note that this specification strengthens the one given in
Iterable.iterator()
, which was already
strengthened in the corresponding type-specific class,
but was weakened by the fact that this interface extends Collection
.
iterator
in interface ObjectCollection<K>
iterator
in interface ObjectIterable<K>
iterator
in interface ObjectSet<K>
iterator
in interface Iterable<K>
iterator
in interface Collection<K>
iterator
in interface Set<K>
iterator
in class AbstractObjectSet<K>
public boolean contains(Object k)
contains
in interface Collection<K>
contains
in interface Set<K>
contains
in class AbstractCollection<K>
public int size()
size
in interface Collection<K>
size
in interface Set<K>
size
in class AbstractCollection<K>
public boolean remove(Object k)
ObjectSet
Note that the corresponding method of the type-specific collection is rem()
.
This unfortunate situation is caused by the clash
with the similarly named index-based method in the List
interface.
remove
in interface ObjectSet<K>
remove
in interface Collection<K>
remove
in interface Set<K>
remove
in class AbstractObjectSet<K>
Collection.remove(Object)
public boolean add(K k)
add
in interface Collection<K>
add
in interface Set<K>
add
in class AbstractObjectCollection<K>
public void clear()
clear
in interface Collection<K>
clear
in interface Set<K>
clear
in class AbstractCollection<K>
public boolean isEmpty()
isEmpty
in interface Collection<K>
isEmpty
in interface Set<K>
isEmpty
in class AbstractObjectCollection<K>
public ObjectArraySet<K> clone()
This method performs a deep copy of this hash set; the data stored in the set, however, is not cloned. Note that this makes a difference only for object keys.