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:
Externalizable
,Serializable
,MutableDoubleCollection
,DoubleIterable
,PrimitiveIterable
,DoubleSet
,MutableDoubleSet
This file was automatically generated from template file primitiveHashSet.stg.
- Since:
- 3.0.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
private class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private boolean
private static final int
private static final double
private static final int
private static final int
private int
private int
private static final double
private static final long
private double[]
private int
private int
-
Constructor Summary
ConstructorsConstructorDescriptionDoubleHashSet
(double... elements) DoubleHashSet
(int initialCapacity) DoubleHashSet
(DoubleIterable elements) -
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(double element) boolean
addAll
(double... source) boolean
addAll
(DoubleIterable source) protected void
allocateTable
(int sizeToAllocate) boolean
allSatisfy
(DoublePredicate predicate) Returns true if all of the elements in the DoubleIterable return true for the specified predicate, otherwise returns false.boolean
anySatisfy
(DoublePredicate predicate) Returns true if any of the elements in the DoubleIterable return true for the specified predicate, otherwise returns false.void
appendString
(Appendable appendable, String start, String separator, String end) Prints a string representation of this collection onto the givenAppendable
.chunk
(int size) Partitions elements in fixed size chunks.void
clear()
<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 Collection<V>>
Rcollect
(DoubleToObjectFunction<? extends V> function, R target) Same asDoubleIterable.collect(DoubleToObjectFunction)
, 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
(double value) Returns true if the value is contained in the DoubleIterable, and false if it is not.private void
int
count
(DoublePredicate predicate) Returns a count of the number of elements in the DoubleIterable that return true for the specified predicate.double
detectIfNone
(DoublePredicate predicate, double ifNone) Returns a primitive iterator that can be used to iterate over the DoubleIterable in an imperative style.void
each
(DoubleProcedure procedure) A synonym for forEach.freeze()
Returns a frozen copy of this set.int
hashCode()
Follows the same general contract asSet.hashCode()
.<T> T
injectInto
(T injectedValue, ObjectDoubleToObjectFunction<? super T, ? extends T> function) private static boolean
isBetweenZeroAndThirtyOne
(double value) private static boolean
isNonSentinel
(double value) private int
mask
(int spread) double
max()
private int
double
min()
newEmpty()
Creates a new empty DoubleHashSet.static DoubleHashSet
newSet
(DoubleIterable source) static DoubleHashSet
newSetWith
(double... source) (package private) int
probe
(double element) (package private) int
probeThree
(double element, int removedIndex) (package private) int
probeTwo
(double element, int removedIndex) void
private void
rehash
(int newCapacity) private void
reject
(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.boolean
remove
(double value) boolean
removeAll
(double... source) boolean
removeAll
(DoubleIterable source) private boolean
removeZeroToThirtyOne
(double value) boolean
retainAll
(double... source) boolean
retainAll
(DoubleIterable source) select
(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.int
size()
Returns the number of items in this iterable.private int
(package private) int
spreadAndMask
(double element) (package private) int
spreadTwoAndMask
(double element) double
sum()
double[]
toArray()
Converts the DoubleIterable to a primitive double array.double[]
toArray
(double[] array) Converts the DoubleIterable to a primitive double array.Returns an immutable copy of this set.with
(double element) withAll
(DoubleIterable elements) without
(double element) withoutAll
(DoubleIterable elements) void
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 Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
DEFAULT_INITIAL_CAPACITY
private static final int DEFAULT_INITIAL_CAPACITY- See Also:
-
EMPTY
private static final double EMPTY- See Also:
-
REMOVED
private static final double REMOVED- See Also:
-
CACHE_LINE_SIZE
private static final int CACHE_LINE_SIZE- See Also:
-
KEY_SIZE
private static final int KEY_SIZE- See Also:
-
INITIAL_LINEAR_PROBE
private static final int INITIAL_LINEAR_PROBE- See Also:
-
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 Details
-
DoubleHashSet
public DoubleHashSet() -
DoubleHashSet
public DoubleHashSet(int initialCapacity) -
DoubleHashSet
public DoubleHashSet(double... elements) -
DoubleHashSet
-
DoubleHashSet
-
-
Method Details
-
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n) -
newSet
-
newSetWith
-
isBetweenZeroAndThirtyOne
private static boolean isBetweenZeroAndThirtyOne(double value) -
hashCode
public int hashCode()Description copied from interface:DoubleSet
Follows the same general contract asSet.hashCode()
.- Specified by:
hashCode
in interfaceDoubleSet
- Specified by:
hashCode
in classAbstractDoubleSet
-
size
public int size()Description copied from interface:PrimitiveIterable
Returns the number of items in this iterable.- Specified by:
size
in interfacePrimitiveIterable
-
appendString
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(double element) - Specified by:
add
in interfaceMutableDoubleCollection
-
addAll
public boolean addAll(double... source) - Specified by:
addAll
in interfaceMutableDoubleCollection
-
addAll
- Specified by:
addAll
in interfaceMutableDoubleCollection
-
remove
public boolean remove(double value) - Specified by:
remove
in interfaceMutableDoubleCollection
-
removeZeroToThirtyOne
private boolean removeZeroToThirtyOne(double value) -
removeAll
- Specified by:
removeAll
in interfaceMutableDoubleCollection
-
removeAll
public boolean removeAll(double... source) - Specified by:
removeAll
in interfaceMutableDoubleCollection
-
retainAll
- Specified by:
retainAll
in interfaceMutableDoubleCollection
- See Also:
-
retainAll
public boolean retainAll(double... source) - Specified by:
retainAll
in interfaceMutableDoubleCollection
- See Also:
-
clear
public void clear()- Specified by:
clear
in interfaceMutableDoubleCollection
-
with
- Specified by:
with
in interfaceMutableDoubleCollection
- Specified by:
with
in interfaceMutableDoubleSet
-
without
- Specified by:
without
in interfaceMutableDoubleCollection
- Specified by:
without
in interfaceMutableDoubleSet
-
withAll
- Specified by:
withAll
in interfaceMutableDoubleCollection
- Specified by:
withAll
in interfaceMutableDoubleSet
-
withoutAll
- Specified by:
withoutAll
in interfaceMutableDoubleCollection
- Specified by:
withoutAll
in interfaceMutableDoubleSet
-
asUnmodifiable
- Specified by:
asUnmodifiable
in interfaceMutableDoubleCollection
- Specified by:
asUnmodifiable
in interfaceMutableDoubleSet
-
asSynchronized
- Specified by:
asSynchronized
in interfaceMutableDoubleCollection
- Specified by:
asSynchronized
in interfaceMutableDoubleSet
-
toImmutable
Description copied from interface:MutableDoubleSet
Returns an immutable copy of this set.- Specified by:
toImmutable
in interfaceDoubleSet
- Specified by:
toImmutable
in interfaceMutableDoubleCollection
- Specified by:
toImmutable
in interfaceMutableDoubleSet
-
doubleIterator
Description copied from interface:DoubleIterable
Returns a primitive iterator that can be used to iterate over the DoubleIterable in an imperative style.- Specified by:
doubleIterator
in interfaceDoubleIterable
- Specified by:
doubleIterator
in interfaceMutableDoubleCollection
-
toArray
public double[] toArray()Description copied from interface:DoubleIterable
Converts the DoubleIterable to a primitive double array.- Specified by:
toArray
in interfaceDoubleIterable
-
toArray
public double[] toArray(double[] array) Description copied from interface:DoubleIterable
Converts 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:
toArray
in interfaceDoubleIterable
-
contains
public boolean contains(double value) Description copied from interface:DoubleIterable
Returns true if the value is contained in the DoubleIterable, and false if it is not.- Specified by:
contains
in interfaceDoubleIterable
-
each
Description copied from interface:DoubleIterable
A synonym for forEach.- Specified by:
each
in interfaceDoubleIterable
- Since:
- 7.0.
-
select
Description copied from interface:DoubleIterable
Returns a new DoubleIterable with all of the elements in the DoubleIterable that return true for the specified predicate.- Specified by:
select
in interfaceDoubleIterable
- Specified by:
select
in interfaceDoubleSet
- Specified by:
select
in interfaceMutableDoubleCollection
- Specified by:
select
in interfaceMutableDoubleSet
-
select
Description copied from interface:DoubleIterable
Same asDoubleIterable.select(DoublePredicate)
, only the results are added to the target MutableDoubleCollection.- Specified by:
select
in interfaceDoubleIterable
- Since:
- 8.1.
-
reject
Description copied from interface:DoubleIterable
Returns a new DoubleIterable with all of the elements in the DoubleIterable that return false for the specified predicate.- Specified by:
reject
in interfaceDoubleIterable
- Specified by:
reject
in interfaceDoubleSet
- Specified by:
reject
in interfaceMutableDoubleCollection
- Specified by:
reject
in interfaceMutableDoubleSet
-
reject
Description copied from interface:DoubleIterable
Same asDoubleIterable.reject(DoublePredicate)
, only the results are added to the target MutableDoubleCollection.- Specified by:
reject
in interfaceDoubleIterable
- Since:
- 8.1.
-
collect
Description copied from interface:DoubleIterable
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 interfaceDoubleIterable
- Specified by:
collect
in interfaceDoubleSet
- Specified by:
collect
in interfaceMutableDoubleCollection
- Specified by:
collect
in interfaceMutableDoubleSet
-
collect
public <V,R extends Collection<V>> R collect(DoubleToObjectFunction<? extends V> function, R target) Description copied from interface:DoubleIterable
Same asDoubleIterable.collect(DoubleToObjectFunction)
, only the results are added to the target Collection.- Specified by:
collect
in interfaceDoubleIterable
- Since:
- 8.1.
-
detectIfNone
- Specified by:
detectIfNone
in interfaceDoubleIterable
-
count
Description copied from interface:DoubleIterable
Returns a count of the number of elements in the DoubleIterable that return true for the specified predicate.- Specified by:
count
in interfaceDoubleIterable
-
anySatisfy
Description copied from interface:DoubleIterable
Returns true if any of the elements in the DoubleIterable return true for the specified predicate, otherwise returns false.- Specified by:
anySatisfy
in interfaceDoubleIterable
-
allSatisfy
Description copied from interface:DoubleIterable
Returns true if all of the elements in the DoubleIterable return true for the specified predicate, otherwise returns false.- Specified by:
allSatisfy
in interfaceDoubleIterable
-
sum
public double sum()- Specified by:
sum
in interfaceDoubleIterable
-
max
public double max()- Specified by:
max
in interfaceDoubleIterable
-
min
public double min()- Specified by:
min
in interfaceDoubleIterable
-
freeze
Description copied from interface:MutableDoubleSet
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 interfaceDoubleSet
- Specified by:
freeze
in interfaceMutableDoubleSet
-
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
-
injectInto
public <T> T injectInto(T injectedValue, ObjectDoubleToObjectFunction<? super T, ? extends T> function) - Specified by:
injectInto
in interfaceDoubleIterable
-
chunk
Description copied from interface:DoubleIterable
Partitions elements in fixed size chunks.- Specified by:
chunk
in interfaceDoubleIterable
- Parameters:
size
- the number of elements per chunk- Returns:
- A
RichIterable
containingDoubleIterable
s of sizesize
, except the last will be truncated if the elements don't divide evenly.
-
newEmpty
Creates a new empty DoubleHashSet.- Specified by:
newEmpty
in interfaceMutableDoubleCollection
- Specified by:
newEmpty
in interfaceMutableDoubleSet
- 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(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)
-