Class AbstractDoubleCollection

java.lang.Object
java.util.AbstractCollection<java.lang.Double>
it.unimi.dsi.fastutil.doubles.AbstractDoubleCollection
All Implemented Interfaces:
DoubleCollection, DoubleIterable, java.lang.Iterable<java.lang.Double>, java.util.Collection<java.lang.Double>
Direct Known Subclasses:
AbstractDoubleBigList, AbstractDoubleList, AbstractDoubleSet, DoubleCollections.EmptyCollection, DoubleCollections.IterableCollection

public abstract class AbstractDoubleCollection
extends java.util.AbstractCollection<java.lang.Double>
implements DoubleCollection
An abstract class providing basic methods for collections implementing a type-specific interface.

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 Type Method Description
    boolean add​(double k)
    Ensures that this collection contains the specified element (optional operation).
    boolean add​(java.lang.Double key)
    Deprecated.
    Please use the corresponding type-specific method instead.
    boolean addAll​(DoubleCollection c)
    Adds all elements of the given type-specific collection to this collection.
    boolean addAll​(java.util.Collection<? extends java.lang.Double> c)
    boolean contains​(double k)
    Returns true if this collection contains the specified element.
    boolean contains​(java.lang.Object key)
    Deprecated.
    Please use the corresponding type-specific method instead.
    boolean containsAll​(DoubleCollection c)
    Checks whether this collection contains all elements from the given type-specific collection.
    boolean containsAll​(java.util.Collection<?> c)
    void forEach​(DoubleConsumer action)
    Performs the given action for each element of this type-specific Iterable 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 remove​(java.lang.Object key)
    Deprecated.
    Please use the corresponding type-specific method instead.
    boolean removeAll​(DoubleCollection c)
    Remove from this collection all elements in the given type-specific collection.
    boolean removeAll​(java.util.Collection<?> c)
    boolean removeIf​(DoublePredicate filter)
    Remove from this collection all elements which satisfy the given predicate.
    boolean retainAll​(DoubleCollection c)
    Retains in this collection only elements from the given type-specific collection.
    boolean retainAll​(java.util.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[] toDoubleArray()
    Returns a primitive type array containing the items of this collection.
    double[] toDoubleArray​(double[] a)
    Deprecated.
    Please use toArray() instead—this method is redundant and will be removed in the future.
    java.lang.String toString()  

    Methods inherited from class java.util.AbstractCollection

    clear, isEmpty, size, toArray, toArray

    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.DoubleIterable

    forEach, forEach
  • Method Details

    • iterator

      public abstract DoubleIterator iterator()
      Description copied from interface: DoubleCollection
      Returns a type-specific iterator on the elements of this collection.
      Specified by:
      iterator in interface java.util.Collection<java.lang.Double>
      Specified by:
      iterator in interface DoubleCollection
      Specified by:
      iterator in interface DoubleIterable
      Specified by:
      iterator in interface java.lang.Iterable<java.lang.Double>
      Specified by:
      iterator in class java.util.AbstractCollection<java.lang.Double>
      Returns:
      a type-specific iterator on the elements of this collection.
      See Also:
      Iterable.iterator()
    • add

      public boolean add​(double k)
      Ensures that this collection contains the specified element (optional operation).
      Specified by:
      add in interface DoubleCollection
      See Also:
      Collection.add(Object)
      Implementation Specification:
      This implementation always throws an UnsupportedOperationException.
    • contains

      public boolean contains​(double k)
      Returns true if this collection contains the specified element.
      Specified by:
      contains in interface DoubleCollection
      See Also:
      Collection.contains(Object)
      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 the List interface forces us to use a distinguished name. For simplicity, the set interfaces reinstates remove().

      Specified by:
      rem in interface DoubleCollection
      See Also:
      Collection.remove(Object)
      Implementation Specification:
      This implementation iterates over the elements in the collection, looking for the specified element and tries to remove it.
    • add

      @Deprecated public boolean add​(java.lang.Double key)
      Deprecated.
      Please use the corresponding type-specific method instead.
      Specified by:
      add in interface java.util.Collection<java.lang.Double>
      Specified by:
      add in interface DoubleCollection
      Overrides:
      add in class java.util.AbstractCollection<java.lang.Double>
    • contains

      @Deprecated public boolean contains​(java.lang.Object key)
      Deprecated.
      Please use the corresponding type-specific method instead.
      Specified by:
      contains in interface java.util.Collection<java.lang.Double>
      Specified by:
      contains in interface DoubleCollection
      Overrides:
      contains in class java.util.AbstractCollection<java.lang.Double>
    • remove

      @Deprecated public boolean remove​(java.lang.Object key)
      Deprecated.
      Please use the corresponding type-specific method instead.
      Specified by:
      remove in interface java.util.Collection<java.lang.Double>
      Specified by:
      remove in interface DoubleCollection
      Overrides:
      remove in class java.util.AbstractCollection<java.lang.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 interface DoubleCollection
      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:
      Collection.toArray(Object[])
    • toDoubleArray

      public double[] toDoubleArray()
      Description copied from interface: DoubleCollection
      Returns a primitive type array containing the items of this collection.
      Specified by:
      toDoubleArray in interface DoubleCollection
      Returns:
      a primitive type array containing the items of this collection.
      See Also:
      Collection.toArray()
    • toDoubleArray

      @Deprecated public double[] toDoubleArray​(double[] a)
      Deprecated.
      Please use toArray() 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 interface DoubleCollection
      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:
      Collection.toArray(Object[])
    • forEach

      public final void forEach​(DoubleConsumer action)
      Performs the given action for each element of this type-specific Iterable 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 interface DoubleIterable
      Parameters:
      action - the action to be performed for each element.
      See Also:
      Iterable.forEach(java.util.function.Consumer)
      API Notes:
      This method exists to make final what should have been final in the interface.
    • removeIf

      public final boolean removeIf​(DoublePredicate filter)
      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 interface DoubleCollection
      Parameters:
      filter - a predicate which returns true for elements to be removed.
      Returns:
      true if any elements were removed.
      See Also:
      Collection.removeIf(java.util.function.Predicate)
      API Notes:
      This method exists to make final what should have been final in the interface.
    • addAll

      public boolean addAll​(DoubleCollection c)
      Description copied from interface: DoubleCollection
      Adds all elements of the given type-specific collection to this collection.
      Specified by:
      addAll in interface DoubleCollection
      Parameters:
      c - a type-specific collection.
      Returns:
      true if this collection changed as a result of the call.
      See Also:
      Collection.addAll(Collection)
    • addAll

      public boolean addAll​(java.util.Collection<? extends java.lang.Double> c)
      Specified by:
      addAll in interface java.util.Collection<java.lang.Double>
      Overrides:
      addAll in class java.util.AbstractCollection<java.lang.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

      public boolean containsAll​(DoubleCollection c)
      Description copied from interface: DoubleCollection
      Checks whether this collection contains all elements from the given type-specific collection.
      Specified by:
      containsAll in interface DoubleCollection
      Parameters:
      c - a type-specific collection.
      Returns:
      true if this collection contains all elements of the argument.
      See Also:
      Collection.containsAll(Collection)
    • containsAll

      public boolean containsAll​(java.util.Collection<?> c)
      Specified by:
      containsAll in interface java.util.Collection<java.lang.Double>
      Overrides:
      containsAll in class java.util.AbstractCollection<java.lang.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

      public boolean removeAll​(DoubleCollection c)
      Description copied from interface: DoubleCollection
      Remove from this collection all elements in the given type-specific collection.
      Specified by:
      removeAll in interface DoubleCollection
      Parameters:
      c - a type-specific collection.
      Returns:
      true if this collection changed as a result of the call.
      See Also:
      Collection.removeAll(Collection)
    • removeAll

      public boolean removeAll​(java.util.Collection<?> c)
      Specified by:
      removeAll in interface java.util.Collection<java.lang.Double>
      Overrides:
      removeAll in class java.util.AbstractCollection<java.lang.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

      public boolean retainAll​(DoubleCollection c)
      Description copied from interface: DoubleCollection
      Retains in this collection only elements from the given type-specific collection.
      Specified by:
      retainAll in interface DoubleCollection
      Parameters:
      c - a type-specific collection.
      Returns:
      true if this collection changed as a result of the call.
      See Also:
      Collection.retainAll(Collection)
    • retainAll

      public boolean retainAll​(java.util.Collection<?> c)
      Specified by:
      retainAll in interface java.util.Collection<java.lang.Double>
      Overrides:
      retainAll in class java.util.AbstractCollection<java.lang.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

      public java.lang.String toString()
      Overrides:
      toString in class java.util.AbstractCollection<java.lang.Double>