Class LongHashSet
- java.lang.Object
-
- org.eclipse.collections.impl.primitive.AbstractLongIterable
-
- org.eclipse.collections.impl.set.primitive.AbstractLongSet
-
- org.eclipse.collections.impl.set.mutable.primitive.LongHashSet
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,MutableLongCollection
,LongIterable
,PrimitiveIterable
,LongSet
,MutableLongSet
public class LongHashSet extends AbstractLongSet implements MutableLongSet, 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
LongHashSet.ImmutableLongHashSet
private class
LongHashSet.InternalLongIterator
-
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 long
EMPTY
private static int
INITIAL_LINEAR_PROBE
private static int
KEY_SIZE
private int
occupiedWithData
private int
occupiedWithSentinels
private static long
REMOVED
private static long
serialVersionUID
private long[]
table
private int
zeroToThirtyOne
private int
zeroToThirtyOneOccupied
-
Constructor Summary
Constructors Constructor Description LongHashSet()
LongHashSet(int initialCapacity)
LongHashSet(long... elements)
LongHashSet(LongIterable elements)
LongHashSet(LongHashSet set)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(long element)
boolean
addAll(long... source)
boolean
addAll(LongIterable source)
protected void
allocateTable(int sizeToAllocate)
boolean
allSatisfy(LongPredicate predicate)
Returns true if all of the elements in the LongIterable return true for the specified predicate, otherwise returns false.boolean
anySatisfy(LongPredicate predicate)
Returns true if any of the elements in the LongIterable 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
.MutableLongSet
asSynchronized()
MutableLongSet
asUnmodifiable()
RichIterable<LongIterable>
chunk(int size)
Partitions elements in fixed size chunks.void
clear()
<V> MutableSet<V>
collect(LongToObjectFunction<? 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(LongToObjectFunction<? extends V> function, R target)
Same asLongIterable.collect(LongToObjectFunction)
, 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(long value)
Returns true if the value is contained in the LongIterable, and false if it is not.private void
copyTable()
int
count(LongPredicate predicate)
Returns a count of the number of elements in the LongIterable that return true for the specified predicate.long
detectIfNone(LongPredicate predicate, long ifNone)
void
each(LongProcedure procedure)
A synonym for forEach.LongSet
freeze()
Returns a frozen copy of this set.int
hashCode()
Follows the same general contract asSet.hashCode()
.<T> T
injectInto(T injectedValue, ObjectLongToObjectFunction<? super T,? extends T> function)
private static boolean
isBetweenZeroAndThirtyOne(long value)
private static boolean
isNonSentinel(long value)
MutableLongIterator
longIterator()
Returns a primitive iterator that can be used to iterate over the LongIterable in an imperative style.private int
mask(int spread)
long
max()
private int
maxOccupiedWithData()
long
min()
LongHashSet
newEmpty()
Creates a new empty LongHashSet.static LongHashSet
newSet(LongIterable source)
static LongHashSet
newSetWith(long... source)
(package private) int
probe(long element)
(package private) int
probeThree(long element, int removedIndex)
(package private) int
probeTwo(long element, int removedIndex)
void
readExternal(java.io.ObjectInput in)
private void
rehash(int newCapacity)
private void
rehashAndGrow()
LongHashSet
reject(LongPredicate predicate)
Returns a new LongIterable with all of the elements in the LongIterable that return false for the specified predicate.<R extends MutableLongCollection>
Rreject(LongPredicate predicate, R target)
Same asLongIterable.reject(LongPredicate)
, only the results are added to the target MutableLongCollection.boolean
remove(long value)
boolean
removeAll(long... source)
boolean
removeAll(LongIterable source)
private boolean
removeZeroToThirtyOne(long value)
boolean
retainAll(long... source)
boolean
retainAll(LongIterable source)
LongHashSet
select(LongPredicate predicate)
Returns a new LongIterable with all of the elements in the LongIterable that return true for the specified predicate.<R extends MutableLongCollection>
Rselect(LongPredicate predicate, R target)
Same asLongIterable.select(LongPredicate)
, only the results are added to the target MutableLongCollection.int
size()
Returns the number of items in this iterable.private int
smallestPowerOfTwoGreaterThan(int n)
(package private) int
spreadAndMask(long element)
(package private) int
spreadTwoAndMask(long element)
long
sum()
long[]
toArray()
Converts the LongIterable to a primitive long array.long[]
toArray(long[] array)
Converts the LongIterable to a primitive long array.ImmutableLongSet
toImmutable()
Returns an immutable copy of this set.LongHashSet
with(long element)
LongHashSet
withAll(LongIterable elements)
LongHashSet
without(long element)
LongHashSet
withoutAll(LongIterable elements)
void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.eclipse.collections.impl.set.primitive.AbstractLongSet
cartesianProduct, equals
-
Methods inherited from class org.eclipse.collections.impl.primitive.AbstractLongIterable
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.LongIterable
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.LongSet
cartesianProduct, equals, isProperSubsetOf, isSubsetOf, tap
-
Methods inherited from interface org.eclipse.collections.api.collection.primitive.MutableLongCollection
removeIf
-
Methods inherited from interface org.eclipse.collections.api.set.primitive.MutableLongSet
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 long EMPTY
- See Also:
- Constant Field Values
-
REMOVED
private static final long 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 long[] table
-
occupiedWithData
private int occupiedWithData
-
occupiedWithSentinels
private int occupiedWithSentinels
-
zeroToThirtyOne
private int zeroToThirtyOne
-
zeroToThirtyOneOccupied
private int zeroToThirtyOneOccupied
-
copyOnWrite
private transient boolean copyOnWrite
-
-
Constructor Detail
-
LongHashSet
public LongHashSet()
-
LongHashSet
public LongHashSet(int initialCapacity)
-
LongHashSet
public LongHashSet(long... elements)
-
LongHashSet
public LongHashSet(LongIterable elements)
-
LongHashSet
public LongHashSet(LongHashSet set)
-
-
Method Detail
-
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n)
-
newSet
public static LongHashSet newSet(LongIterable source)
-
newSetWith
public static LongHashSet newSetWith(long... source)
-
isBetweenZeroAndThirtyOne
private static boolean isBetweenZeroAndThirtyOne(long value)
-
hashCode
public int hashCode()
Description copied from interface:LongSet
Follows the same general contract asSet.hashCode()
.- Specified by:
hashCode
in interfaceLongSet
- Specified by:
hashCode
in classAbstractLongSet
-
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(long element)
- Specified by:
add
in interfaceMutableLongCollection
-
addAll
public boolean addAll(long... source)
- Specified by:
addAll
in interfaceMutableLongCollection
-
addAll
public boolean addAll(LongIterable source)
- Specified by:
addAll
in interfaceMutableLongCollection
-
remove
public boolean remove(long value)
- Specified by:
remove
in interfaceMutableLongCollection
-
removeZeroToThirtyOne
private boolean removeZeroToThirtyOne(long value)
-
removeAll
public boolean removeAll(LongIterable source)
- Specified by:
removeAll
in interfaceMutableLongCollection
-
removeAll
public boolean removeAll(long... source)
- Specified by:
removeAll
in interfaceMutableLongCollection
-
retainAll
public boolean retainAll(LongIterable source)
- Specified by:
retainAll
in interfaceMutableLongCollection
- See Also:
Collection.retainAll(Collection)
-
retainAll
public boolean retainAll(long... source)
- Specified by:
retainAll
in interfaceMutableLongCollection
- See Also:
Collection.retainAll(Collection)
-
clear
public void clear()
- Specified by:
clear
in interfaceMutableLongCollection
-
with
public LongHashSet with(long element)
- Specified by:
with
in interfaceMutableLongCollection
- Specified by:
with
in interfaceMutableLongSet
-
without
public LongHashSet without(long element)
- Specified by:
without
in interfaceMutableLongCollection
- Specified by:
without
in interfaceMutableLongSet
-
withAll
public LongHashSet withAll(LongIterable elements)
- Specified by:
withAll
in interfaceMutableLongCollection
- Specified by:
withAll
in interfaceMutableLongSet
-
withoutAll
public LongHashSet withoutAll(LongIterable elements)
- Specified by:
withoutAll
in interfaceMutableLongCollection
- Specified by:
withoutAll
in interfaceMutableLongSet
-
asUnmodifiable
public MutableLongSet asUnmodifiable()
- Specified by:
asUnmodifiable
in interfaceMutableLongCollection
- Specified by:
asUnmodifiable
in interfaceMutableLongSet
-
asSynchronized
public MutableLongSet asSynchronized()
- Specified by:
asSynchronized
in interfaceMutableLongCollection
- Specified by:
asSynchronized
in interfaceMutableLongSet
-
toImmutable
public ImmutableLongSet toImmutable()
Description copied from interface:MutableLongSet
Returns an immutable copy of this set.- Specified by:
toImmutable
in interfaceLongSet
- Specified by:
toImmutable
in interfaceMutableLongCollection
- Specified by:
toImmutable
in interfaceMutableLongSet
-
longIterator
public MutableLongIterator longIterator()
Description copied from interface:LongIterable
Returns a primitive iterator that can be used to iterate over the LongIterable in an imperative style.- Specified by:
longIterator
in interfaceLongIterable
- Specified by:
longIterator
in interfaceMutableLongCollection
-
toArray
public long[] toArray()
Description copied from interface:LongIterable
Converts the LongIterable to a primitive long array.- Specified by:
toArray
in interfaceLongIterable
-
toArray
public long[] toArray(long[] array)
Description copied from interface:LongIterable
Converts the LongIterable to a primitive long 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 interfaceLongIterable
-
contains
public boolean contains(long value)
Description copied from interface:LongIterable
Returns true if the value is contained in the LongIterable, and false if it is not.- Specified by:
contains
in interfaceLongIterable
-
each
public void each(LongProcedure procedure)
Description copied from interface:LongIterable
A synonym for forEach.- Specified by:
each
in interfaceLongIterable
- Since:
- 7.0.
-
select
public LongHashSet select(LongPredicate predicate)
Description copied from interface:LongIterable
Returns a new LongIterable with all of the elements in the LongIterable that return true for the specified predicate.- Specified by:
select
in interfaceLongIterable
- Specified by:
select
in interfaceLongSet
- Specified by:
select
in interfaceMutableLongCollection
- Specified by:
select
in interfaceMutableLongSet
-
select
public <R extends MutableLongCollection> R select(LongPredicate predicate, R target)
Description copied from interface:LongIterable
Same asLongIterable.select(LongPredicate)
, only the results are added to the target MutableLongCollection.- Specified by:
select
in interfaceLongIterable
- Since:
- 8.1.
-
reject
public LongHashSet reject(LongPredicate predicate)
Description copied from interface:LongIterable
Returns a new LongIterable with all of the elements in the LongIterable that return false for the specified predicate.- Specified by:
reject
in interfaceLongIterable
- Specified by:
reject
in interfaceLongSet
- Specified by:
reject
in interfaceMutableLongCollection
- Specified by:
reject
in interfaceMutableLongSet
-
reject
public <R extends MutableLongCollection> R reject(LongPredicate predicate, R target)
Description copied from interface:LongIterable
Same asLongIterable.reject(LongPredicate)
, only the results are added to the target MutableLongCollection.- Specified by:
reject
in interfaceLongIterable
- Since:
- 8.1.
-
collect
public <V> MutableSet<V> collect(LongToObjectFunction<? extends V> function)
Description copied from interface:LongIterable
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 interfaceLongIterable
- Specified by:
collect
in interfaceLongSet
- Specified by:
collect
in interfaceMutableLongCollection
- Specified by:
collect
in interfaceMutableLongSet
-
collect
public <V,R extends java.util.Collection<V>> R collect(LongToObjectFunction<? extends V> function, R target)
Description copied from interface:LongIterable
Same asLongIterable.collect(LongToObjectFunction)
, only the results are added to the target Collection.- Specified by:
collect
in interfaceLongIterable
- Since:
- 8.1.
-
detectIfNone
public long detectIfNone(LongPredicate predicate, long ifNone)
- Specified by:
detectIfNone
in interfaceLongIterable
-
count
public int count(LongPredicate predicate)
Description copied from interface:LongIterable
Returns a count of the number of elements in the LongIterable that return true for the specified predicate.- Specified by:
count
in interfaceLongIterable
-
anySatisfy
public boolean anySatisfy(LongPredicate predicate)
Description copied from interface:LongIterable
Returns true if any of the elements in the LongIterable return true for the specified predicate, otherwise returns false.- Specified by:
anySatisfy
in interfaceLongIterable
-
allSatisfy
public boolean allSatisfy(LongPredicate predicate)
Description copied from interface:LongIterable
Returns true if all of the elements in the LongIterable return true for the specified predicate, otherwise returns false.- Specified by:
allSatisfy
in interfaceLongIterable
-
sum
public long sum()
- Specified by:
sum
in interfaceLongIterable
-
max
public long max()
- Specified by:
max
in interfaceLongIterable
-
min
public long min()
- Specified by:
min
in interfaceLongIterable
-
freeze
public LongSet freeze()
Description copied from interface:MutableLongSet
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 interfaceLongSet
- Specified by:
freeze
in interfaceMutableLongSet
-
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, ObjectLongToObjectFunction<? super T,? extends T> function)
- Specified by:
injectInto
in interfaceLongIterable
-
chunk
public RichIterable<LongIterable> chunk(int size)
Description copied from interface:LongIterable
Partitions elements in fixed size chunks.- Specified by:
chunk
in interfaceLongIterable
- Parameters:
size
- the number of elements per chunk- Returns:
- A
RichIterable
containingLongIterable
s of sizesize
, except the last will be truncated if the elements don't divide evenly.
-
newEmpty
public LongHashSet newEmpty()
Creates a new empty LongHashSet.- Specified by:
newEmpty
in interfaceMutableLongCollection
- Specified by:
newEmpty
in interfaceMutableLongSet
- 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(long element)
-
probeTwo
int probeTwo(long element, int removedIndex)
-
probeThree
int probeThree(long element, int removedIndex)
-
spreadAndMask
int spreadAndMask(long element)
-
spreadTwoAndMask
int spreadTwoAndMask(long element)
-
mask
private int mask(int spread)
-
copyTable
private void copyTable()
-
maxOccupiedWithData
private int maxOccupiedWithData()
-
isNonSentinel
private static boolean isNonSentinel(long value)
-
-