Class DoubleHashSet
- java.lang.Object
-
- org.eclipse.collections.impl.primitive.AbstractDoubleIterable
-
- org.eclipse.collections.impl.set.primitive.AbstractDoubleSet
-
- org.eclipse.collections.impl.set.mutable.primitive.DoubleHashSet
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,MutableDoubleCollection,DoubleIterable,PrimitiveIterable,DoubleSet,MutableDoubleSet
public class DoubleHashSet extends AbstractDoubleSet implements MutableDoubleSet, 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 classDoubleHashSet.ImmutableDoubleHashSetprivate classDoubleHashSet.InternalDoubleIterator
-
Field Summary
Fields Modifier and Type Field Description private static intCACHE_LINE_SIZEprivate booleancopyOnWriteprivate static intDEFAULT_INITIAL_CAPACITYprivate static doubleEMPTYprivate static intINITIAL_LINEAR_PROBEprivate static intKEY_SIZEprivate intoccupiedWithDataprivate intoccupiedWithSentinelsprivate static doubleREMOVEDprivate static longserialVersionUIDprivate double[]tableprivate intzeroToThirtyOneprivate intzeroToThirtyOneOccupied
-
Constructor Summary
Constructors Constructor Description DoubleHashSet()DoubleHashSet(double... elements)DoubleHashSet(int initialCapacity)DoubleHashSet(DoubleIterable elements)DoubleHashSet(DoubleHashSet set)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanadd(double element)booleanaddAll(double... source)booleanaddAll(DoubleIterable source)protected voidallocateTable(int sizeToAllocate)booleanallSatisfy(DoublePredicate predicate)Returns true if all of the elements in the DoubleIterable return true for the specified predicate, otherwise returns false.booleananySatisfy(DoublePredicate predicate)Returns true if any of the elements in the DoubleIterable return true for the specified predicate, otherwise returns false.voidappendString(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.MutableDoubleSetasSynchronized()MutableDoubleSetasUnmodifiable()MutableSet<java.lang.Double>boxed()RichIterable<DoubleIterable>chunk(int size)Partitions elements in fixed size chunks.voidclear()<V> MutableSet<V>collect(DoubleToObjectFunction<? 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(DoubleToObjectFunction<? extends V> function, R target)Same asDoubleIterable.collect(DoubleToObjectFunction), only the results are added to the target Collection.voidcompact()Deprecated.since 12.0 - UsetrimToSize()insteadbooleancontains(double value)Returns true if the value is contained in the DoubleIterable, and false if it is not.private voidcopyTable()intcount(DoublePredicate predicate)Returns a count of the number of elements in the DoubleIterable that return true for the specified predicate.doubledetectIfNone(DoublePredicate predicate, double ifNone)MutableDoubleIteratordoubleIterator()Returns a primitive iterator that can be used to iterate over the DoubleIterable in an imperative style.voideach(DoubleProcedure procedure)A synonym for forEach.DoubleSetfreeze()Returns a frozen copy of this set.inthashCode()Follows the same general contract asSet.hashCode().<T> TinjectInto(T injectedValue, ObjectDoubleToObjectFunction<? super T,? extends T> function)private static booleanisBetweenZeroAndThirtyOne(double value)private static booleanisNonSentinel(double value)private intmask(int spread)doublemax()private intmaxOccupiedWithData()doublemin()DoubleHashSetnewEmpty()Creates a new empty DoubleHashSet.static DoubleHashSetnewSet(DoubleIterable source)static DoubleHashSetnewSetWith(double... source)(package private) intprobe(double element)(package private) intprobeThree(double element, int removedIndex)(package private) intprobeTwo(double element, int removedIndex)voidreadExternal(java.io.ObjectInput in)private voidrehash(int newCapacity)private voidrehashAndGrow()DoubleHashSetreject(DoublePredicate predicate)Returns a new DoubleIterable with all of the elements in the DoubleIterable that return false for the specified predicate.<R extends MutableDoubleCollection>
Rreject(DoublePredicate predicate, R target)Same asDoubleIterable.reject(DoublePredicate), only the results are added to the target MutableDoubleCollection.booleanremove(double value)booleanremoveAll(double... source)booleanremoveAll(DoubleIterable source)private booleanremoveZeroToThirtyOne(double value)booleanretainAll(double... source)booleanretainAll(DoubleIterable source)DoubleHashSetselect(DoublePredicate predicate)Returns a new DoubleIterable with all of the elements in the DoubleIterable that return true for the specified predicate.<R extends MutableDoubleCollection>
Rselect(DoublePredicate predicate, R target)Same asDoubleIterable.select(DoublePredicate), only the results are added to the target MutableDoubleCollection.intsize()Returns the number of items in this iterable.private intsmallestPowerOfTwoGreaterThan(int n)(package private) intspreadAndMask(double element)(package private) intspreadTwoAndMask(double element)doublesum()double[]toArray()Converts the DoubleIterable to a primitive double array.double[]toArray(double[] array)Converts the DoubleIterable to a primitive double array.ImmutableDoubleSettoImmutable()Returns an immutable copy of this set.booleantrimToSize()DoubleHashSetwith(double element)DoubleHashSetwithAll(DoubleIterable elements)DoubleHashSetwithout(double element)DoubleHashSetwithoutAll(DoubleIterable elements)voidwriteExternal(java.io.ObjectOutput out)-
Methods inherited from class org.eclipse.collections.impl.set.primitive.AbstractDoubleSet
cartesianProduct, equals
-
Methods inherited from class org.eclipse.collections.impl.primitive.AbstractDoubleIterable
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.DoubleIterable
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.DoubleSet
cartesianProduct, equals, isProperSubsetOf, isSubsetOf, tap
-
Methods inherited from interface org.eclipse.collections.api.collection.primitive.MutableDoubleCollection
removeIf
-
Methods inherited from interface org.eclipse.collections.api.set.primitive.MutableDoubleSet
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 double EMPTY
- See Also:
- Constant Field Values
-
REMOVED
private static final double 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 double[] table
-
occupiedWithData
private int occupiedWithData
-
occupiedWithSentinels
private int occupiedWithSentinels
-
zeroToThirtyOne
private int zeroToThirtyOne
-
zeroToThirtyOneOccupied
private int zeroToThirtyOneOccupied
-
copyOnWrite
private transient boolean copyOnWrite
-
-
Constructor Detail
-
DoubleHashSet
public DoubleHashSet()
-
DoubleHashSet
public DoubleHashSet(int initialCapacity)
-
DoubleHashSet
public DoubleHashSet(double... elements)
-
DoubleHashSet
public DoubleHashSet(DoubleIterable elements)
-
DoubleHashSet
public DoubleHashSet(DoubleHashSet set)
-
-
Method Detail
-
boxed
public MutableSet<java.lang.Double> boxed()
- Specified by:
boxedin interfaceMutableDoubleSet
-
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n)
-
newSet
public static DoubleHashSet newSet(DoubleIterable source)
-
newSetWith
public static DoubleHashSet newSetWith(double... source)
-
isBetweenZeroAndThirtyOne
private static boolean isBetweenZeroAndThirtyOne(double value)
-
hashCode
public int hashCode()
Description copied from interface:DoubleSetFollows the same general contract asSet.hashCode().- Specified by:
hashCodein interfaceDoubleSet- Specified by:
hashCodein classAbstractDoubleSet
-
size
public int size()
Description copied from interface:PrimitiveIterableReturns the number of items in this iterable.- Specified by:
sizein 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:PrimitiveIterablePrints a string representation of this collection onto the givenAppendable. Prints the string returned byPrimitiveIterable.makeString(String, String, String).- Specified by:
appendStringin interfacePrimitiveIterable
-
add
public boolean add(double element)
- Specified by:
addin interfaceMutableDoubleCollection
-
addAll
public boolean addAll(double... source)
- Specified by:
addAllin interfaceMutableDoubleCollection
-
addAll
public boolean addAll(DoubleIterable source)
- Specified by:
addAllin interfaceMutableDoubleCollection
-
remove
public boolean remove(double value)
- Specified by:
removein interfaceMutableDoubleCollection
-
removeZeroToThirtyOne
private boolean removeZeroToThirtyOne(double value)
-
removeAll
public boolean removeAll(DoubleIterable source)
- Specified by:
removeAllin interfaceMutableDoubleCollection
-
removeAll
public boolean removeAll(double... source)
- Specified by:
removeAllin interfaceMutableDoubleCollection
-
retainAll
public boolean retainAll(DoubleIterable source)
- Specified by:
retainAllin interfaceMutableDoubleCollection- See Also:
Collection.retainAll(Collection)
-
retainAll
public boolean retainAll(double... source)
- Specified by:
retainAllin interfaceMutableDoubleCollection- See Also:
Collection.retainAll(Collection)
-
clear
public void clear()
- Specified by:
clearin interfaceMutableDoubleCollection
-
with
public DoubleHashSet with(double element)
- Specified by:
within interfaceMutableDoubleCollection- Specified by:
within interfaceMutableDoubleSet
-
without
public DoubleHashSet without(double element)
- Specified by:
withoutin interfaceMutableDoubleCollection- Specified by:
withoutin interfaceMutableDoubleSet
-
withAll
public DoubleHashSet withAll(DoubleIterable elements)
- Specified by:
withAllin interfaceMutableDoubleCollection- Specified by:
withAllin interfaceMutableDoubleSet
-
withoutAll
public DoubleHashSet withoutAll(DoubleIterable elements)
- Specified by:
withoutAllin interfaceMutableDoubleCollection- Specified by:
withoutAllin interfaceMutableDoubleSet
-
asUnmodifiable
public MutableDoubleSet asUnmodifiable()
- Specified by:
asUnmodifiablein interfaceMutableDoubleCollection- Specified by:
asUnmodifiablein interfaceMutableDoubleSet
-
asSynchronized
public MutableDoubleSet asSynchronized()
- Specified by:
asSynchronizedin interfaceMutableDoubleCollection- Specified by:
asSynchronizedin interfaceMutableDoubleSet
-
toImmutable
public ImmutableDoubleSet toImmutable()
Description copied from interface:MutableDoubleSetReturns an immutable copy of this set.- Specified by:
toImmutablein interfaceDoubleSet- Specified by:
toImmutablein interfaceMutableDoubleCollection- Specified by:
toImmutablein interfaceMutableDoubleSet
-
doubleIterator
public MutableDoubleIterator doubleIterator()
Description copied from interface:DoubleIterableReturns a primitive iterator that can be used to iterate over the DoubleIterable in an imperative style.- Specified by:
doubleIteratorin interfaceDoubleIterable- Specified by:
doubleIteratorin interfaceMutableDoubleCollection
-
toArray
public double[] toArray()
Description copied from interface:DoubleIterableConverts the DoubleIterable to a primitive double array.- Specified by:
toArrayin interfaceDoubleIterable
-
toArray
public double[] toArray(double[] array)
Description copied from interface:DoubleIterableConverts the DoubleIterable to a primitive double 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:
toArrayin interfaceDoubleIterable
-
contains
public boolean contains(double value)
Description copied from interface:DoubleIterableReturns true if the value is contained in the DoubleIterable, and false if it is not.- Specified by:
containsin interfaceDoubleIterable
-
each
public void each(DoubleProcedure procedure)
Description copied from interface:DoubleIterableA synonym for forEach.- Specified by:
eachin interfaceDoubleIterable- Since:
- 7.0.
-
select
public DoubleHashSet select(DoublePredicate predicate)
Description copied from interface:DoubleIterableReturns a new DoubleIterable with all of the elements in the DoubleIterable that return true for the specified predicate.- Specified by:
selectin interfaceDoubleIterable- Specified by:
selectin interfaceDoubleSet- Specified by:
selectin interfaceMutableDoubleCollection- Specified by:
selectin interfaceMutableDoubleSet
-
select
public <R extends MutableDoubleCollection> R select(DoublePredicate predicate, R target)
Description copied from interface:DoubleIterableSame asDoubleIterable.select(DoublePredicate), only the results are added to the target MutableDoubleCollection.- Specified by:
selectin interfaceDoubleIterable- Since:
- 8.1.
-
reject
public DoubleHashSet reject(DoublePredicate predicate)
Description copied from interface:DoubleIterableReturns a new DoubleIterable with all of the elements in the DoubleIterable that return false for the specified predicate.- Specified by:
rejectin interfaceDoubleIterable- Specified by:
rejectin interfaceDoubleSet- Specified by:
rejectin interfaceMutableDoubleCollection- Specified by:
rejectin interfaceMutableDoubleSet
-
reject
public <R extends MutableDoubleCollection> R reject(DoublePredicate predicate, R target)
Description copied from interface:DoubleIterableSame asDoubleIterable.reject(DoublePredicate), only the results are added to the target MutableDoubleCollection.- Specified by:
rejectin interfaceDoubleIterable- Since:
- 8.1.
-
collect
public <V> MutableSet<V> collect(DoubleToObjectFunction<? extends V> function)
Description copied from interface:DoubleIterableReturns 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:
collectin interfaceDoubleIterable- Specified by:
collectin interfaceDoubleSet- Specified by:
collectin interfaceMutableDoubleCollection- Specified by:
collectin interfaceMutableDoubleSet
-
collect
public <V,R extends java.util.Collection<V>> R collect(DoubleToObjectFunction<? extends V> function, R target)
Description copied from interface:DoubleIterableSame asDoubleIterable.collect(DoubleToObjectFunction), only the results are added to the target Collection.- Specified by:
collectin interfaceDoubleIterable- Since:
- 8.1.
-
detectIfNone
public double detectIfNone(DoublePredicate predicate, double ifNone)
- Specified by:
detectIfNonein interfaceDoubleIterable
-
count
public int count(DoublePredicate predicate)
Description copied from interface:DoubleIterableReturns a count of the number of elements in the DoubleIterable that return true for the specified predicate.- Specified by:
countin interfaceDoubleIterable
-
anySatisfy
public boolean anySatisfy(DoublePredicate predicate)
Description copied from interface:DoubleIterableReturns true if any of the elements in the DoubleIterable return true for the specified predicate, otherwise returns false.- Specified by:
anySatisfyin interfaceDoubleIterable
-
allSatisfy
public boolean allSatisfy(DoublePredicate predicate)
Description copied from interface:DoubleIterableReturns true if all of the elements in the DoubleIterable return true for the specified predicate, otherwise returns false.- Specified by:
allSatisfyin interfaceDoubleIterable
-
sum
public double sum()
- Specified by:
sumin interfaceDoubleIterable
-
max
public double max()
- Specified by:
maxin interfaceDoubleIterable
-
min
public double min()
- Specified by:
minin interfaceDoubleIterable
-
freeze
public DoubleSet freeze()
Description copied from interface:MutableDoubleSetReturns a frozen copy of this set. A frozen copy is the same thing as an immutable copy without safe-publish guarantees.- Specified by:
freezein interfaceDoubleSet- Specified by:
freezein interfaceMutableDoubleSet
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
injectInto
public <T> T injectInto(T injectedValue, ObjectDoubleToObjectFunction<? super T,? extends T> function)- Specified by:
injectIntoin interfaceDoubleIterable
-
chunk
public RichIterable<DoubleIterable> chunk(int size)
Description copied from interface:DoubleIterablePartitions elements in fixed size chunks.- Specified by:
chunkin interfaceDoubleIterable- Parameters:
size- the number of elements per chunk- Returns:
- A
RichIterablecontainingDoubleIterables of sizesize, except the last will be truncated if the elements don't divide evenly.
-
newEmpty
public DoubleHashSet newEmpty()
Creates a new empty DoubleHashSet.- Specified by:
newEmptyin interfaceMutableDoubleCollection- Specified by:
newEmptyin interfaceMutableDoubleSet- Since:
- 9.2.
-
trimToSize
public boolean trimToSize()
- Since:
- 12.0
-
compact
@Deprecated public void compact()
Deprecated.since 12.0 - UsetrimToSize()insteadRehashes 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(double element)
-
probeTwo
int probeTwo(double element, int removedIndex)
-
probeThree
int probeThree(double element, int removedIndex)
-
spreadAndMask
int spreadAndMask(double element)
-
spreadTwoAndMask
int spreadTwoAndMask(double element)
-
mask
private int mask(int spread)
-
copyTable
private void copyTable()
-
maxOccupiedWithData
private int maxOccupiedWithData()
-
isNonSentinel
private static boolean isNonSentinel(double value)
-
-