Class AbstractLongCollection

java.lang.Object
java.util.AbstractCollection<Long>
it.unimi.dsi.fastutil.longs.AbstractLongCollection
All Implemented Interfaces:
LongCollection, LongIterable, Iterable<Long>, Collection<Long>
Direct Known Subclasses:
AbstractLongBigList, AbstractLongList, AbstractLongSet, LongCollections.EmptyCollection, LongCollections.IterableCollection

public abstract class AbstractLongCollection extends AbstractCollection<Long> implements LongCollection
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 Details

    • iterator

      public abstract LongIterator iterator()
      Description copied from interface: LongCollection
      Returns a type-specific iterator on the elements of this collection.
      Specified by:
      iterator in interface Collection<Long>
      Specified by:
      iterator in interface Iterable<Long>
      Specified by:
      iterator in interface LongCollection
      Specified by:
      iterator in interface LongIterable
      Specified by:
      iterator in class AbstractCollection<Long>
      Returns:
      a type-specific iterator on the elements of this collection.
      See Also:
    • add

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

      public boolean contains(long k)
      Returns true if this collection contains the specified element.
      Specified by:
      contains in interface LongCollection
      See Also:
      Implementation Specification:
      This implementation iterates over the elements in the collection, looking for the specified element.
    • rem

      public boolean rem(long 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 LongCollection
      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 public boolean add(Long key)
      Deprecated.
      Please use the corresponding type-specific method instead.
      Specified by:
      add in interface Collection<Long>
      Specified by:
      add in interface LongCollection
      Overrides:
      add in class AbstractCollection<Long>
    • contains

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

      @Deprecated public boolean remove(Object key)
      Deprecated.
      Please use the corresponding type-specific method instead.
      Specified by:
      remove in interface Collection<Long>
      Specified by:
      remove in interface LongCollection
      Overrides:
      remove in class AbstractCollection<Long>
    • toArray

      public long[] toArray(long[] a)
      Description copied from interface: LongCollection
      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 LongCollection
      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:
    • toLongArray

      public long[] toLongArray()
      Description copied from interface: LongCollection
      Returns a primitive type array containing the items of this collection.
      Specified by:
      toLongArray in interface LongCollection
      Returns:
      a primitive type array containing the items of this collection.
      See Also:
    • toLongArray

      @Deprecated public long[] toLongArray(long[] 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:
      toLongArray in interface LongCollection
      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

      public final void forEach(LongConsumer 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 LongIterable
      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

      public final boolean removeIf(LongPredicate 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 LongCollection
      Parameters:
      filter - a predicate which returns true 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

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

      public boolean addAll(Collection<? extends Long> c)
      Specified by:
      addAll in interface Collection<Long>
      Overrides:
      addAll in class AbstractCollection<Long>
      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(LongCollection c)
      Description copied from interface: LongCollection
      Checks whether this collection contains all elements from the given type-specific collection.
      Specified by:
      containsAll in interface LongCollection
      Parameters:
      c - a type-specific collection.
      Returns:
      true if this collection contains all elements of the argument.
      See Also:
    • containsAll

      public boolean containsAll(Collection<?> c)
      Specified by:
      containsAll in interface Collection<Long>
      Overrides:
      containsAll in class AbstractCollection<Long>
      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(LongCollection c)
      Description copied from interface: LongCollection
      Remove from this collection all elements in the given type-specific collection.
      Specified by:
      removeAll in interface LongCollection
      Parameters:
      c - a type-specific collection.
      Returns:
      true if this collection changed as a result of the call.
      See Also:
    • removeAll

      public boolean removeAll(Collection<?> c)
      Specified by:
      removeAll in interface Collection<Long>
      Overrides:
      removeAll in class AbstractCollection<Long>
      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(LongCollection c)
      Description copied from interface: LongCollection
      Retains in this collection only elements from the given type-specific collection.
      Specified by:
      retainAll in interface LongCollection
      Parameters:
      c - a type-specific collection.
      Returns:
      true if this collection changed as a result of the call.
      See Also:
    • retainAll

      public boolean retainAll(Collection<?> c)
      Specified by:
      retainAll in interface Collection<Long>
      Overrides:
      retainAll in class AbstractCollection<Long>
      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 String toString()
      Overrides:
      toString in class AbstractCollection<Long>