Class AbstractDoubleCollection
- All Implemented Interfaces:
DoubleCollection
,DoubleIterable
,Iterable<Double>
,Collection<Double>
- Direct Known Subclasses:
AbstractDoubleBigList
,AbstractDoubleList
,AbstractDoubleSet
,DoubleCollections.EmptyCollection
,DoubleCollections.IterableCollection
In particular, this class provide iterator()
, add()
, remove(Object)
and
contains(Object)
methods that just call the type-specific counterpart.
Warning: Because of a name clash between the list and collection interfaces the
type-specific deletion method of a type-specific abstract collection is rem()
, rather
then remove()
. A subclass must thus override rem()
, rather than remove()
,
to make all inherited methods work properly.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(double k) Ensures that this collection contains the specified element (optional operation).boolean
Deprecated.Please use the corresponding type-specific method instead.boolean
Adds all elements of the given type-specific collection to this collection.boolean
addAll
(Collection<? extends Double> c) boolean
contains
(double k) Returnstrue
if this collection contains the specified element.boolean
Deprecated.Please use the corresponding type-specific method instead.boolean
Checks whether this collection contains all elements from the given type-specific collection.boolean
containsAll
(Collection<?> c) final void
forEach
(DoubleConsumer action) Performs the given action for each element of this type-specificIterable
until all elements have been processed or the action throws an exception.abstract DoubleIterator
iterator()
Returns a type-specific iterator on the elements of this collection.boolean
rem
(double k) Removes a single instance of the specified element from this collection, if it is present (optional operation).boolean
Deprecated.Please use the corresponding type-specific method instead.boolean
Remove from this collection all elements in the given type-specific collection.boolean
removeAll
(Collection<?> c) final boolean
removeIf
(DoublePredicate filter) Remove from this collection all elements which satisfy the given predicate.boolean
Retains in this collection only elements from the given type-specific collection.boolean
retainAll
(Collection<?> c) double[]
toArray
(double[] a) Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array.double[]
Returns a primitive type array containing the items of this collection.double[]
toDoubleArray
(double[] a) Deprecated.Please usetoArray()
instead—this method is redundant and will be removed in the future.toString()
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
clear, equals, hashCode, isEmpty, size, toArray, toArray, toArray
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleCollection
doubleIterator, doubleParallelStream, doubleSpliterator, doubleStream, parallelStream, removeIf, removeIf, spliterator, stream
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleIterable
forEach, forEach
-
Method Details
-
iterator
Description copied from interface:DoubleCollection
Returns a type-specific iterator on the elements of this collection.- Specified by:
iterator
in interfaceCollection<Double>
- Specified by:
iterator
in interfaceDoubleCollection
- Specified by:
iterator
in interfaceDoubleIterable
- Specified by:
iterator
in interfaceIterable<Double>
- Specified by:
iterator
in classAbstractCollection<Double>
- Returns:
- a type-specific iterator on the elements of this collection.
- See Also:
-
add
public boolean add(double k) Ensures that this collection contains the specified element (optional operation).- Specified by:
add
in interfaceDoubleCollection
- See Also:
- Implementation Specification:
- This implementation always throws an
UnsupportedOperationException
.
-
contains
public boolean contains(double k) Returnstrue
if this collection contains the specified element.- Specified by:
contains
in interfaceDoubleCollection
- See Also:
- Implementation Specification:
- This implementation iterates over the elements in the collection, looking for the specified element.
-
rem
public boolean rem(double k) Removes a single instance of the specified element from this collection, if it is present (optional operation).Note that this method should be called
remove()
, but the clash with the similarly named index-based method in theList
interface forces us to use a distinguished name. For simplicity, the set interfaces reinstatesremove()
.- Specified by:
rem
in interfaceDoubleCollection
- See Also:
- Implementation Specification:
- This implementation iterates over the elements in the collection, looking for the specified element and tries to remove it.
-
add
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
add
in interfaceCollection<Double>
- Specified by:
add
in interfaceDoubleCollection
- Overrides:
add
in classAbstractCollection<Double>
-
contains
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
contains
in interfaceCollection<Double>
- Specified by:
contains
in interfaceDoubleCollection
- Overrides:
contains
in classAbstractCollection<Double>
-
remove
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
remove
in interfaceCollection<Double>
- Specified by:
remove
in interfaceDoubleCollection
- Overrides:
remove
in classAbstractCollection<Double>
-
toArray
public double[] toArray(double[] a) Description copied from interface:DoubleCollection
Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array.Note that, contrarily to
Collection.toArray(Object[])
, this methods just writes all elements of this collection: no special value will be added after the last one.- Specified by:
toArray
in interfaceDoubleCollection
- Parameters:
a
- if this array is big enough, it will be used to store this collection.- Returns:
- a primitive type array containing the items of this collection.
- See Also:
-
toDoubleArray
public double[] toDoubleArray()Description copied from interface:DoubleCollection
Returns a primitive type array containing the items of this collection.- Specified by:
toDoubleArray
in interfaceDoubleCollection
- Returns:
- a primitive type array containing the items of this collection.
- See Also:
-
toDoubleArray
Deprecated.Please usetoArray()
instead—this method is redundant and will be removed in the future.Returns a primitive type array containing the items of this collection.Note that, contrarily to
Collection.toArray(Object[])
, this methods just writes all elements of this collection: no special value will be added after the last one.- Specified by:
toDoubleArray
in interfaceDoubleCollection
- Parameters:
a
- if this array is big enough, it will be used to store this collection.- Returns:
- a primitive type array containing the items of this collection.
- See Also:
-
forEach
Performs the given action for each element of this type-specificIterable
until all elements have been processed or the action throws an exception.WARNING: Overriding this method is almost always a mistake, as this overload only exists to disambiguate. Instead, override the
forEach()
overload that uses the JDK's primitive consumer type (e.g.IntConsumer
).If Java supported final default methods, this would be one, but sadly it does not.
If you checked and are overriding the version with
java.util.function.XConsumer
, and still see this warning, then your IDE is incorrectly conflating this method with the proper method to override, and you can safely ignore this message.- Specified by:
forEach
in interfaceDoubleIterable
- Parameters:
action
- the action to be performed for each element.- See Also:
- API Notes:
- This method exists to make final what should have been final in the interface.
-
removeIf
Remove from this collection all elements which satisfy the given predicate.WARNING: Overriding this method is almost always a mistake, as this overload only exists to disambiguate. Instead, override the
removeIf()
overload that uses the JDK's primitive predicate type (e.g.IntPredicate
).If Java supported final default methods, this would be one, but sadly it does not.
If you checked and are overriding the version with
java.util.function.XPredicate
, and still see this warning, then your IDE is incorrectly conflating this method with the proper method to override, and you can safely ignore this message.- Specified by:
removeIf
in interfaceDoubleCollection
- Parameters:
filter
- a predicate which returnstrue
for elements to be removed.- Returns:
true
if any elements were removed.- See Also:
- API Notes:
- This method exists to make final what should have been final in the interface.
-
addAll
Description copied from interface:DoubleCollection
Adds all elements of the given type-specific collection to this collection.- Specified by:
addAll
in interfaceDoubleCollection
- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection changed as a result of the call.- See Also:
-
addAll
- Specified by:
addAll
in interfaceCollection<Double>
- Overrides:
addAll
in classAbstractCollection<Double>
- Implementation Specification:
- This implementation delegates to the type-specific version if given a type-specific
collection, otherwise is uses the implementation from
AbstractCollection
.
-
containsAll
Description copied from interface:DoubleCollection
Checks whether this collection contains all elements from the given type-specific collection.- Specified by:
containsAll
in interfaceDoubleCollection
- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection contains all elements of the argument.- See Also:
-
containsAll
- Specified by:
containsAll
in interfaceCollection<Double>
- Overrides:
containsAll
in classAbstractCollection<Double>
- Implementation Specification:
- This implementation delegates to the type-specific version if given a type-specific
collection, otherwise is uses the implementation from
AbstractCollection
.
-
removeAll
Description copied from interface:DoubleCollection
Remove from this collection all elements in the given type-specific collection.- Specified by:
removeAll
in interfaceDoubleCollection
- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection changed as a result of the call.- See Also:
-
removeAll
- Specified by:
removeAll
in interfaceCollection<Double>
- Overrides:
removeAll
in classAbstractCollection<Double>
- Implementation Specification:
- This implementation delegates to the type-specific version if given a type-specific
collection, otherwise is uses the implementation from
AbstractCollection
.
-
retainAll
Description copied from interface:DoubleCollection
Retains in this collection only elements from the given type-specific collection.- Specified by:
retainAll
in interfaceDoubleCollection
- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection changed as a result of the call.- See Also:
-
retainAll
- Specified by:
retainAll
in interfaceCollection<Double>
- Overrides:
retainAll
in classAbstractCollection<Double>
- Implementation Specification:
- This implementation delegates to the type-specific version if given a type-specific
collection, otherwise is uses the implementation from
AbstractCollection
.
-
toString
- Overrides:
toString
in classAbstractCollection<Double>
-