Class AbstractIntCollection
- java.lang.Object
-
- java.util.AbstractCollection<java.lang.Integer>
-
- it.unimi.dsi.fastutil.ints.AbstractIntCollection
-
- All Implemented Interfaces:
IntCollection
,IntIterable
,java.lang.Iterable<java.lang.Integer>
,java.util.Collection<java.lang.Integer>
- Direct Known Subclasses:
AbstractIntBigList
,AbstractIntList
,AbstractIntSet
,IntCollections.EmptyCollection
,IntCollections.IterableCollection
public abstract class AbstractIntCollection extends java.util.AbstractCollection<java.lang.Integer> implements IntCollection
An abstract class providing basic methods for collections implementing a type-specific interface.In particular, this class provide
iterator()
,add()
,remove(Object)
andcontains(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 thenremove()
. A subclass must thus overriderem()
, rather thanremove()
, to make all inherited methods work properly.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
add(int k)
Ensures that this collection contains the specified element (optional operation).boolean
add(java.lang.Integer key)
Deprecated.Please use the corresponding type-specific method instead.boolean
addAll(IntCollection c)
Adds all elements of the given type-specific collection to this collection.boolean
addAll(java.util.Collection<? extends java.lang.Integer> c)
boolean
contains(int k)
Returnstrue
if this collection contains the specified element.boolean
contains(java.lang.Object key)
Deprecated.Please use the corresponding type-specific method instead.boolean
containsAll(IntCollection c)
Checks whether this collection contains all elements from the given type-specific collection.boolean
containsAll(java.util.Collection<?> c)
void
forEach(IntConsumer 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 IntIterator
iterator()
Returns a type-specific iterator on the elements of this collection.boolean
rem(int 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(IntCollection c)
Remove from this collection all elements in the given type-specific collection.boolean
removeAll(java.util.Collection<?> c)
boolean
removeIf(IntPredicate filter)
Remove from this collection all elements which satisfy the given predicate.boolean
retainAll(IntCollection c)
Retains in this collection only elements from the given type-specific collection.boolean
retainAll(java.util.Collection<?> c)
int[]
toArray(int[] 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.int[]
toIntArray()
Returns a primitive type array containing the items of this collection.int[]
toIntArray(int[] a)
Deprecated.Please usetoArray()
instead—this method is redundant and will be removed in the future.java.lang.String
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.ints.IntCollection
intIterator, intParallelStream, intSpliterator, intStream, parallelStream, removeIf, removeIf, spliterator, stream
-
Methods inherited from interface it.unimi.dsi.fastutil.ints.IntIterable
forEach, forEach
-
-
-
-
Method Detail
-
iterator
public abstract IntIterator iterator()
Description copied from interface:IntCollection
Returns a type-specific iterator on the elements of this collection.- Specified by:
iterator
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
iterator
in interfaceIntCollection
- Specified by:
iterator
in interfaceIntIterable
- Specified by:
iterator
in interfacejava.lang.Iterable<java.lang.Integer>
- Specified by:
iterator
in classjava.util.AbstractCollection<java.lang.Integer>
- Returns:
- a type-specific iterator on the elements of this collection.
- See Also:
Iterable.iterator()
-
add
public boolean add(int k)
Ensures that this collection contains the specified element (optional operation).- Specified by:
add
in interfaceIntCollection
- See Also:
Collection.add(Object)
- Implementation Specification:
- This implementation always throws an
UnsupportedOperationException
.
-
contains
public boolean contains(int k)
Returnstrue
if this collection contains the specified element.- Specified by:
contains
in interfaceIntCollection
- 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(int 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 interfaceIntCollection
- 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.Integer key)
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
add
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
add
in interfaceIntCollection
- Overrides:
add
in classjava.util.AbstractCollection<java.lang.Integer>
-
contains
@Deprecated public boolean contains(java.lang.Object key)
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
contains
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
contains
in interfaceIntCollection
- Overrides:
contains
in classjava.util.AbstractCollection<java.lang.Integer>
-
remove
@Deprecated public boolean remove(java.lang.Object key)
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
remove
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
remove
in interfaceIntCollection
- Overrides:
remove
in classjava.util.AbstractCollection<java.lang.Integer>
-
toArray
public int[] toArray(int[] a)
Description copied from interface:IntCollection
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 interfaceIntCollection
- 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[])
-
toIntArray
public int[] toIntArray()
Description copied from interface:IntCollection
Returns a primitive type array containing the items of this collection.- Specified by:
toIntArray
in interfaceIntCollection
- Returns:
- a primitive type array containing the items of this collection.
- See Also:
Collection.toArray()
-
toIntArray
@Deprecated public int[] toIntArray(int[] a)
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:
toIntArray
in interfaceIntCollection
- 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(IntConsumer action)
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 interfaceIntIterable
- 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(IntPredicate 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 interfaceIntCollection
- Parameters:
filter
- a predicate which returnstrue
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(IntCollection c)
Description copied from interface:IntCollection
Adds all elements of the given type-specific collection to this collection.- Specified by:
addAll
in interfaceIntCollection
- 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.Integer> c)
- Specified by:
addAll
in interfacejava.util.Collection<java.lang.Integer>
- Overrides:
addAll
in classjava.util.AbstractCollection<java.lang.Integer>
- 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(IntCollection c)
Description copied from interface:IntCollection
Checks whether this collection contains all elements from the given type-specific collection.- Specified by:
containsAll
in interfaceIntCollection
- 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 interfacejava.util.Collection<java.lang.Integer>
- Overrides:
containsAll
in classjava.util.AbstractCollection<java.lang.Integer>
- 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(IntCollection c)
Description copied from interface:IntCollection
Remove from this collection all elements in the given type-specific collection.- Specified by:
removeAll
in interfaceIntCollection
- 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 interfacejava.util.Collection<java.lang.Integer>
- Overrides:
removeAll
in classjava.util.AbstractCollection<java.lang.Integer>
- 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(IntCollection c)
Description copied from interface:IntCollection
Retains in this collection only elements from the given type-specific collection.- Specified by:
retainAll
in interfaceIntCollection
- 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 interfacejava.util.Collection<java.lang.Integer>
- Overrides:
retainAll
in classjava.util.AbstractCollection<java.lang.Integer>
- 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 classjava.util.AbstractCollection<java.lang.Integer>
-
-