Class IdentityArraySet<E extends @UnknownSignedness Object>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<E>
org.plumelib.util.IdentityArraySet<E>
- Type Parameters:
E- the type of the set elements
- All Implemented Interfaces:
Cloneable, Iterable<E>, Collection<E>, Set<E>
public class IdentityArraySet<E extends @UnknownSignedness Object>
extends AbstractSet<E>
implements Cloneable
A set backed by an array. It uses object identity (==) for comparison. It permits null values and
its iterator has deterministic ordering.
Compared to a set built on IdentityHashMap: For very small sets, this uses much less space, has comparable performance, and (like a LinkedHashSet) is deterministic, with elements returned in the order they were inserted. For large sets, this is significantly less performant than other set implementations.
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs an emptyIdentityArraySetwith the default initial capacity.IdentityArraySet(int initialCapacity) Constructs an emptyIdentityArraySetwith the specified initial capacity.IdentityArraySet(Collection<? extends E> c) Constructs a newIdentityArraySetwith the same elements as the given collection. -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanaddAll(Collection<? extends E> c) voidclear()clone()Returns a copy of this.booleanvoidbooleanisEmpty()iterator()booleanbooleanremoveAll(Collection<?> c) @NonNegative intsize()Methods inherited from class AbstractSet
equals, hashCodeMethods inherited from class AbstractCollection
containsAll, retainAll, toArray, toArray, toStringMethods inherited from interface Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface Set
containsAll, retainAll, spliterator, toArray, toArray
-
Constructor Details
-
IdentityArraySet
@SideEffectFree public IdentityArraySet(int initialCapacity) Constructs an emptyIdentityArraySetwith the specified initial capacity.- Parameters:
initialCapacity- the initial capacity- Throws:
IllegalArgumentException- if the initial capacity is negative
-
IdentityArraySet
@SideEffectFree public IdentityArraySet()Constructs an emptyIdentityArraySetwith the default initial capacity. -
IdentityArraySet
Constructs a newIdentityArraySetwith the same elements as the given collection.- Parameters:
c- the collection whose elements are to be placed in the new set- Throws:
NullPointerException- if the given set is null
-
-
Method Details
-
size
-
isEmpty
-
contains
-
add
-
remove
-
addAll
-
removeAll
-
clear
-
iterator
- Specified by:
iteratorin interfaceCollection<E extends @UnknownSignedness Object>- Specified by:
iteratorin interfaceIterable<E extends @UnknownSignedness Object>- Specified by:
iteratorin interfaceSet<E extends @UnknownSignedness Object>- Specified by:
iteratorin classAbstractCollection<E extends @UnknownSignedness Object>
-
forEach
-
clone
Returns a copy of this.
-