Package io.permazen.core.util
Class ObjIdSet
- All Implemented Interfaces:
Serializable,Cloneable,Iterable<ObjId>,Collection<ObjId>,Set<ObjId>
A set of
ObjIds.
This implementation is space optimized for the 64-bits of information contained in an ObjId.
Instances do not accept null values and are not thread safe.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.util.AbstractSet
equals, removeAllMethods inherited from class java.util.AbstractCollection
addAll, containsAll, retainAll, toArray, toStringMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.Set
addAll, containsAll, retainAll, spliterator, toArray
-
Constructor Details
-
ObjIdSet
public ObjIdSet()Constructs an empty instance. -
ObjIdSet
public ObjIdSet(int capacity) Constructs an instance with the given initial capacity.- Parameters:
capacity- initial capacity- Throws:
IllegalArgumentException- ifcapacityis negative
-
ObjIdSet
Constructs an instance initialized with the given ID's.- Parameters:
ids- initial contents for this instance- Throws:
IllegalArgumentException- ifidsis nullNullPointerException- if any ID inidsis null
-
-
Method Details
-
removeOne
Remove a single, arbitraryObjIdfrom this instance and return it.- Returns:
- the removed
ObjId, or null if this instance is empty
-
iterator
-
size
public int size()- Specified by:
sizein interfaceCollection<ObjId>- Specified by:
sizein interfaceSet<ObjId>- Specified by:
sizein classAbstractCollection<ObjId>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceCollection<ObjId>- Specified by:
isEmptyin interfaceSet<ObjId>- Overrides:
isEmptyin classAbstractCollection<ObjId>
-
contains
- Specified by:
containsin interfaceCollection<ObjId>- Specified by:
containsin interfaceSet<ObjId>- Overrides:
containsin classAbstractCollection<ObjId>
-
add
- Specified by:
addin interfaceCollection<ObjId>- Specified by:
addin interfaceSet<ObjId>- Overrides:
addin classAbstractCollection<ObjId>
-
remove
- Specified by:
removein interfaceCollection<ObjId>- Specified by:
removein interfaceSet<ObjId>- Overrides:
removein classAbstractCollection<ObjId>
-
clear
public void clear()- Specified by:
clearin interfaceCollection<ObjId>- Specified by:
clearin interfaceSet<ObjId>- Overrides:
clearin classAbstractCollection<ObjId>
-
toArray
- Specified by:
toArrayin interfaceCollection<ObjId>- Specified by:
toArrayin interfaceSet<ObjId>- Overrides:
toArrayin classAbstractCollection<ObjId>
-
toLongArray
public long[] toLongArray() -
sortedSnapshot
Create a sorted, immutable snapshot of this instance.- Returns:
- sorted, immutable snapshot
-
hashCode
public int hashCode()- Specified by:
hashCodein interfaceCollection<ObjId>- Specified by:
hashCodein interfaceSet<ObjId>- Overrides:
hashCodein classAbstractSet<ObjId>
-
clone
-