Class IntHashSet
- java.lang.Object
-
- org.eclipse.collections.impl.primitive.AbstractIntIterable
-
- org.eclipse.collections.impl.set.primitive.AbstractIntSet
-
- org.eclipse.collections.impl.set.mutable.primitive.IntHashSet
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,MutableIntCollection
,IntIterable
,PrimitiveIterable
,IntSet
,MutableIntSet
public class IntHashSet extends AbstractIntSet implements MutableIntSet, java.io.Externalizable
This file was automatically generated from template file primitiveHashSet.stg.- Since:
- 3.0.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
IntHashSet.ImmutableIntHashSet
private class
IntHashSet.InternalIntIterator
-
Field Summary
Fields Modifier and Type Field Description private static int
CACHE_LINE_SIZE
private boolean
copyOnWrite
private static int
DEFAULT_INITIAL_CAPACITY
private static int
EMPTY
private static int
INITIAL_LINEAR_PROBE
private static int
KEY_SIZE
private int
occupiedWithData
private int
occupiedWithSentinels
private static int
REMOVED
private static long
serialVersionUID
private int[]
table
private int
zeroToThirtyOne
private int
zeroToThirtyOneOccupied
-
Constructor Summary
Constructors Constructor Description IntHashSet()
IntHashSet(int initialCapacity)
IntHashSet(int... elements)
IntHashSet(IntIterable elements)
IntHashSet(IntHashSet set)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(int element)
boolean
addAll(int... source)
boolean
addAll(IntIterable source)
protected void
allocateTable(int sizeToAllocate)
boolean
allSatisfy(IntPredicate predicate)
Returns true if all of the elements in the IntIterable return true for the specified predicate, otherwise returns false.boolean
anySatisfy(IntPredicate predicate)
Returns true if any of the elements in the IntIterable return true for the specified predicate, otherwise returns false.void
appendString(java.lang.Appendable appendable, java.lang.String start, java.lang.String separator, java.lang.String end)
Prints a string representation of this collection onto the givenAppendable
.MutableIntSet
asSynchronized()
MutableIntSet
asUnmodifiable()
RichIterable<IntIterable>
chunk(int size)
Partitions elements in fixed size chunks.void
clear()
<V> MutableSet<V>
collect(IntToObjectFunction<? extends V> function)
Returns a new collection with the results of applying the specified function on each element of the source collection.<V,R extends java.util.Collection<V>>
Rcollect(IntToObjectFunction<? extends V> function, R target)
Same asIntIterable.collect(IntToObjectFunction)
, only the results are added to the target Collection.void
compact()
Rehashes every element in the set into a new backing table of the smallest possible size and eliminating removed sentinels.boolean
contains(int value)
Returns true if the value is contained in the IntIterable, and false if it is not.private void
copyTable()
int
count(IntPredicate predicate)
Returns a count of the number of elements in the IntIterable that return true for the specified predicate.int
detectIfNone(IntPredicate predicate, int ifNone)
void
each(IntProcedure procedure)
A synonym for forEach.IntSet
freeze()
Returns a frozen copy of this set.int
hashCode()
Follows the same general contract asSet.hashCode()
.<T> T
injectInto(T injectedValue, ObjectIntToObjectFunction<? super T,? extends T> function)
MutableIntIterator
intIterator()
Returns a primitive iterator that can be used to iterate over the IntIterable in an imperative style.private static boolean
isBetweenZeroAndThirtyOne(int value)
private static boolean
isNonSentinel(int value)
private int
mask(int spread)
int
max()
private int
maxOccupiedWithData()
int
min()
IntHashSet
newEmpty()
Creates a new empty IntHashSet.static IntHashSet
newSet(IntIterable source)
static IntHashSet
newSetWith(int... source)
(package private) int
probe(int element)
(package private) int
probeThree(int element, int removedIndex)
(package private) int
probeTwo(int element, int removedIndex)
void
readExternal(java.io.ObjectInput in)
private void
rehash(int newCapacity)
private void
rehashAndGrow()
IntHashSet
reject(IntPredicate predicate)
Returns a new IntIterable with all of the elements in the IntIterable that return false for the specified predicate.<R extends MutableIntCollection>
Rreject(IntPredicate predicate, R target)
Same asIntIterable.reject(IntPredicate)
, only the results are added to the target MutableIntCollection.boolean
remove(int value)
boolean
removeAll(int... source)
boolean
removeAll(IntIterable source)
private boolean
removeZeroToThirtyOne(int value)
boolean
retainAll(int... source)
boolean
retainAll(IntIterable source)
IntHashSet
select(IntPredicate predicate)
Returns a new IntIterable with all of the elements in the IntIterable that return true for the specified predicate.<R extends MutableIntCollection>
Rselect(IntPredicate predicate, R target)
Same asIntIterable.select(IntPredicate)
, only the results are added to the target MutableIntCollection.int
size()
Returns the number of items in this iterable.private int
smallestPowerOfTwoGreaterThan(int n)
(package private) int
spreadAndMask(int element)
(package private) int
spreadTwoAndMask(int element)
long
sum()
int[]
toArray()
Converts the IntIterable to a primitive int array.int[]
toArray(int[] array)
Converts the IntIterable to a primitive int array.ImmutableIntSet
toImmutable()
Returns an immutable copy of this set.IntHashSet
with(int element)
IntHashSet
withAll(IntIterable elements)
IntHashSet
without(int element)
IntHashSet
withoutAll(IntIterable elements)
void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.eclipse.collections.impl.set.primitive.AbstractIntSet
cartesianProduct, equals
-
Methods inherited from class org.eclipse.collections.impl.primitive.AbstractIntIterable
asLazy, average, maxIfEmpty, median, minIfEmpty, toBag, toList, toSet, toSortedArray, toSortedList, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.api.IntIterable
asLazy, average, averageIfEmpty, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, containsAll, containsAll, containsAny, containsAny, containsNone, containsNone, flatCollect, forEach, injectIntoBoolean, injectIntoByte, injectIntoChar, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, injectIntoShort, maxIfEmpty, median, medianIfEmpty, minIfEmpty, noneSatisfy, reduce, reduceIfEmpty, summaryStatistics, toBag, toList, toSet, toSortedArray, toSortedList, toSortedList, toSortedListBy, toSortedListBy
-
Methods inherited from interface org.eclipse.collections.api.set.primitive.IntSet
cartesianProduct, equals, isProperSubsetOf, isSubsetOf, tap
-
Methods inherited from interface org.eclipse.collections.api.collection.primitive.MutableIntCollection
removeIf
-
Methods inherited from interface org.eclipse.collections.api.set.primitive.MutableIntSet
difference, intersect, symmetricDifference, tap, union
-
Methods inherited from interface org.eclipse.collections.api.PrimitiveIterable
appendString, appendString, isEmpty, makeString, makeString, makeString, notEmpty, toString
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
DEFAULT_INITIAL_CAPACITY
private static final int DEFAULT_INITIAL_CAPACITY
- See Also:
- Constant Field Values
-
EMPTY
private static final int EMPTY
- See Also:
- Constant Field Values
-
REMOVED
private static final int REMOVED
- See Also:
- Constant Field Values
-
CACHE_LINE_SIZE
private static final int CACHE_LINE_SIZE
- See Also:
- Constant Field Values
-
KEY_SIZE
private static final int KEY_SIZE
- See Also:
- Constant Field Values
-
INITIAL_LINEAR_PROBE
private static final int INITIAL_LINEAR_PROBE
- See Also:
- Constant Field Values
-
table
private int[] table
-
occupiedWithData
private int occupiedWithData
-
occupiedWithSentinels
private int occupiedWithSentinels
-
zeroToThirtyOne
private int zeroToThirtyOne
-
zeroToThirtyOneOccupied
private int zeroToThirtyOneOccupied
-
copyOnWrite
private transient boolean copyOnWrite
-
-
Constructor Detail
-
IntHashSet
public IntHashSet()
-
IntHashSet
public IntHashSet(int initialCapacity)
-
IntHashSet
public IntHashSet(int... elements)
-
IntHashSet
public IntHashSet(IntIterable elements)
-
IntHashSet
public IntHashSet(IntHashSet set)
-
-
Method Detail
-
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n)
-
newSet
public static IntHashSet newSet(IntIterable source)
-
newSetWith
public static IntHashSet newSetWith(int... source)
-
isBetweenZeroAndThirtyOne
private static boolean isBetweenZeroAndThirtyOne(int value)
-
hashCode
public int hashCode()
Description copied from interface:IntSet
Follows the same general contract asSet.hashCode()
.- Specified by:
hashCode
in interfaceIntSet
- Specified by:
hashCode
in classAbstractIntSet
-
size
public int size()
Description copied from interface:PrimitiveIterable
Returns the number of items in this iterable.- Specified by:
size
in interfacePrimitiveIterable
-
appendString
public void appendString(java.lang.Appendable appendable, java.lang.String start, java.lang.String separator, java.lang.String end)
Description copied from interface:PrimitiveIterable
Prints a string representation of this collection onto the givenAppendable
. Prints the string returned byPrimitiveIterable.makeString(String, String, String)
.- Specified by:
appendString
in interfacePrimitiveIterable
-
add
public boolean add(int element)
- Specified by:
add
in interfaceMutableIntCollection
-
addAll
public boolean addAll(int... source)
- Specified by:
addAll
in interfaceMutableIntCollection
-
addAll
public boolean addAll(IntIterable source)
- Specified by:
addAll
in interfaceMutableIntCollection
-
remove
public boolean remove(int value)
- Specified by:
remove
in interfaceMutableIntCollection
-
removeZeroToThirtyOne
private boolean removeZeroToThirtyOne(int value)
-
removeAll
public boolean removeAll(IntIterable source)
- Specified by:
removeAll
in interfaceMutableIntCollection
-
removeAll
public boolean removeAll(int... source)
- Specified by:
removeAll
in interfaceMutableIntCollection
-
retainAll
public boolean retainAll(IntIterable source)
- Specified by:
retainAll
in interfaceMutableIntCollection
- See Also:
Collection.retainAll(Collection)
-
retainAll
public boolean retainAll(int... source)
- Specified by:
retainAll
in interfaceMutableIntCollection
- See Also:
Collection.retainAll(Collection)
-
clear
public void clear()
- Specified by:
clear
in interfaceMutableIntCollection
-
with
public IntHashSet with(int element)
- Specified by:
with
in interfaceMutableIntCollection
- Specified by:
with
in interfaceMutableIntSet
-
without
public IntHashSet without(int element)
- Specified by:
without
in interfaceMutableIntCollection
- Specified by:
without
in interfaceMutableIntSet
-
withAll
public IntHashSet withAll(IntIterable elements)
- Specified by:
withAll
in interfaceMutableIntCollection
- Specified by:
withAll
in interfaceMutableIntSet
-
withoutAll
public IntHashSet withoutAll(IntIterable elements)
- Specified by:
withoutAll
in interfaceMutableIntCollection
- Specified by:
withoutAll
in interfaceMutableIntSet
-
asUnmodifiable
public MutableIntSet asUnmodifiable()
- Specified by:
asUnmodifiable
in interfaceMutableIntCollection
- Specified by:
asUnmodifiable
in interfaceMutableIntSet
-
asSynchronized
public MutableIntSet asSynchronized()
- Specified by:
asSynchronized
in interfaceMutableIntCollection
- Specified by:
asSynchronized
in interfaceMutableIntSet
-
toImmutable
public ImmutableIntSet toImmutable()
Description copied from interface:MutableIntSet
Returns an immutable copy of this set.- Specified by:
toImmutable
in interfaceIntSet
- Specified by:
toImmutable
in interfaceMutableIntCollection
- Specified by:
toImmutable
in interfaceMutableIntSet
-
intIterator
public MutableIntIterator intIterator()
Description copied from interface:IntIterable
Returns a primitive iterator that can be used to iterate over the IntIterable in an imperative style.- Specified by:
intIterator
in interfaceIntIterable
- Specified by:
intIterator
in interfaceMutableIntCollection
-
toArray
public int[] toArray()
Description copied from interface:IntIterable
Converts the IntIterable to a primitive int array.- Specified by:
toArray
in interfaceIntIterable
-
toArray
public int[] toArray(int[] array)
Description copied from interface:IntIterable
Converts the IntIterable to a primitive int array. If the collection fits into the provided array it is used to store its elements and is returned from the method, otherwise a new array of the appropriate size is allocated and returned. If the iterable is empty, the target array is returned unchanged.- Specified by:
toArray
in interfaceIntIterable
-
contains
public boolean contains(int value)
Description copied from interface:IntIterable
Returns true if the value is contained in the IntIterable, and false if it is not.- Specified by:
contains
in interfaceIntIterable
-
each
public void each(IntProcedure procedure)
Description copied from interface:IntIterable
A synonym for forEach.- Specified by:
each
in interfaceIntIterable
- Since:
- 7.0.
-
select
public IntHashSet select(IntPredicate predicate)
Description copied from interface:IntIterable
Returns a new IntIterable with all of the elements in the IntIterable that return true for the specified predicate.- Specified by:
select
in interfaceIntIterable
- Specified by:
select
in interfaceIntSet
- Specified by:
select
in interfaceMutableIntCollection
- Specified by:
select
in interfaceMutableIntSet
-
select
public <R extends MutableIntCollection> R select(IntPredicate predicate, R target)
Description copied from interface:IntIterable
Same asIntIterable.select(IntPredicate)
, only the results are added to the target MutableIntCollection.- Specified by:
select
in interfaceIntIterable
- Since:
- 8.1.
-
reject
public IntHashSet reject(IntPredicate predicate)
Description copied from interface:IntIterable
Returns a new IntIterable with all of the elements in the IntIterable that return false for the specified predicate.- Specified by:
reject
in interfaceIntIterable
- Specified by:
reject
in interfaceIntSet
- Specified by:
reject
in interfaceMutableIntCollection
- Specified by:
reject
in interfaceMutableIntSet
-
reject
public <R extends MutableIntCollection> R reject(IntPredicate predicate, R target)
Description copied from interface:IntIterable
Same asIntIterable.reject(IntPredicate)
, only the results are added to the target MutableIntCollection.- Specified by:
reject
in interfaceIntIterable
- Since:
- 8.1.
-
collect
public <V> MutableSet<V> collect(IntToObjectFunction<? extends V> function)
Description copied from interface:IntIterable
Returns a new collection with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.- Specified by:
collect
in interfaceIntIterable
- Specified by:
collect
in interfaceIntSet
- Specified by:
collect
in interfaceMutableIntCollection
- Specified by:
collect
in interfaceMutableIntSet
-
collect
public <V,R extends java.util.Collection<V>> R collect(IntToObjectFunction<? extends V> function, R target)
Description copied from interface:IntIterable
Same asIntIterable.collect(IntToObjectFunction)
, only the results are added to the target Collection.- Specified by:
collect
in interfaceIntIterable
- Since:
- 8.1.
-
detectIfNone
public int detectIfNone(IntPredicate predicate, int ifNone)
- Specified by:
detectIfNone
in interfaceIntIterable
-
count
public int count(IntPredicate predicate)
Description copied from interface:IntIterable
Returns a count of the number of elements in the IntIterable that return true for the specified predicate.- Specified by:
count
in interfaceIntIterable
-
anySatisfy
public boolean anySatisfy(IntPredicate predicate)
Description copied from interface:IntIterable
Returns true if any of the elements in the IntIterable return true for the specified predicate, otherwise returns false.- Specified by:
anySatisfy
in interfaceIntIterable
-
allSatisfy
public boolean allSatisfy(IntPredicate predicate)
Description copied from interface:IntIterable
Returns true if all of the elements in the IntIterable return true for the specified predicate, otherwise returns false.- Specified by:
allSatisfy
in interfaceIntIterable
-
sum
public long sum()
- Specified by:
sum
in interfaceIntIterable
-
max
public int max()
- Specified by:
max
in interfaceIntIterable
-
min
public int min()
- Specified by:
min
in interfaceIntIterable
-
freeze
public IntSet freeze()
Description copied from interface:MutableIntSet
Returns a frozen copy of this set. A frozen copy is the same thing as an immutable copy without safe-publish guarantees.- Specified by:
freeze
in interfaceIntSet
- Specified by:
freeze
in interfaceMutableIntSet
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Throws:
java.io.IOException
-
injectInto
public <T> T injectInto(T injectedValue, ObjectIntToObjectFunction<? super T,? extends T> function)
- Specified by:
injectInto
in interfaceIntIterable
-
chunk
public RichIterable<IntIterable> chunk(int size)
Description copied from interface:IntIterable
Partitions elements in fixed size chunks.- Specified by:
chunk
in interfaceIntIterable
- Parameters:
size
- the number of elements per chunk- Returns:
- A
RichIterable
containingIntIterable
s of sizesize
, except the last will be truncated if the elements don't divide evenly.
-
newEmpty
public IntHashSet newEmpty()
Creates a new empty IntHashSet.- Specified by:
newEmpty
in interfaceMutableIntCollection
- Specified by:
newEmpty
in interfaceMutableIntSet
- Since:
- 9.2.
-
compact
public void compact()
Rehashes every element in the set into a new backing table of the smallest possible size and eliminating removed sentinels.
-
rehashAndGrow
private void rehashAndGrow()
-
rehash
private void rehash(int newCapacity)
-
allocateTable
protected void allocateTable(int sizeToAllocate)
-
probe
int probe(int element)
-
probeTwo
int probeTwo(int element, int removedIndex)
-
probeThree
int probeThree(int element, int removedIndex)
-
spreadAndMask
int spreadAndMask(int element)
-
spreadTwoAndMask
int spreadTwoAndMask(int element)
-
mask
private int mask(int spread)
-
copyTable
private void copyTable()
-
maxOccupiedWithData
private int maxOccupiedWithData()
-
isNonSentinel
private static boolean isNonSentinel(int value)
-
-