public abstract class AbstractIntCollection extends java.util.AbstractCollection<java.lang.Integer> implements IntCollection
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.
Modifier and Type | Method and 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(java.util.Collection<? extends java.lang.Integer> c) |
boolean |
addAll(IntCollection c)
Adds all elements of the given type-specific collection to this collection.
|
boolean |
contains(int 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(java.util.Collection<?> c) |
boolean |
containsAll(IntCollection c)
Checks whether this collection contains all elements from the given type-specific collection.
|
void |
forEach(IntConsumer 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 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(java.util.Collection<?> c) |
boolean |
removeAll(IntCollection c)
Remove from this collection all elements in the given type-specific collection.
|
boolean |
removeIf(IntPredicate filter)
Remove from this collection all elements which satisfy the given predicate.
|
boolean |
retainAll(java.util.Collection<?> c) |
boolean |
retainAll(IntCollection c)
Retains in this collection only elements from the given type-specific collection.
|
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 use
toArray() instead—this method is redundant and will be removed in the future. |
java.lang.String |
toString() |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
intIterator, intParallelStream, intSpliterator, intStream, parallelStream, removeIf, removeIf, spliterator, stream
clear, equals, hashCode, isEmpty, size, toArray, toArray
forEach, forEach
public abstract IntIterator iterator()
IntCollection
iterator
in interface IntCollection
iterator
in interface IntIterable
iterator
in interface java.lang.Iterable<java.lang.Integer>
iterator
in interface java.util.Collection<java.lang.Integer>
iterator
in class java.util.AbstractCollection<java.lang.Integer>
Iterable.iterator()
public boolean add(int k)
add
in interface IntCollection
Collection.add(Object)
UnsupportedOperationException
.public boolean contains(int k)
true
if this collection contains the specified element.contains
in interface IntCollection
Collection.contains(Object)
public boolean rem(int k)
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()
.
rem
in interface IntCollection
Collection.remove(Object)
@Deprecated public boolean add(java.lang.Integer key)
add
in interface IntCollection
add
in interface java.util.Collection<java.lang.Integer>
add
in class java.util.AbstractCollection<java.lang.Integer>
@Deprecated public boolean contains(java.lang.Object key)
contains
in interface IntCollection
contains
in interface java.util.Collection<java.lang.Integer>
contains
in class java.util.AbstractCollection<java.lang.Integer>
@Deprecated public boolean remove(java.lang.Object key)
remove
in interface IntCollection
remove
in interface java.util.Collection<java.lang.Integer>
remove
in class java.util.AbstractCollection<java.lang.Integer>
public int[] toArray(int[] a)
IntCollection
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.
toArray
in interface IntCollection
a
- if this array is big enough, it will be used to store this collection.Collection.toArray(Object[])
public int[] toIntArray()
IntCollection
toIntArray
in interface IntCollection
Collection.toArray()
@Deprecated public int[] toIntArray(int[] a)
toArray()
instead—this method is redundant and will be removed in the future.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.
toIntArray
in interface IntCollection
a
- if this array is big enough, it will be used to store this collection.Collection.toArray(Object[])
public final void forEach(IntConsumer action)
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.
forEach
in interface IntIterable
action
- the action to be performed for each element.Iterable.forEach(java.util.function.Consumer)
public final boolean removeIf(IntPredicate filter)
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.
removeIf
in interface IntCollection
filter
- a predicate which returns true
for elements to be
removed.true
if any elements were removed.Collection.removeIf(java.util.function.Predicate)
public boolean addAll(IntCollection c)
IntCollection
addAll
in interface IntCollection
c
- a type-specific collection.true
if this collection changed as a result of the call.Collection.addAll(Collection)
public boolean addAll(java.util.Collection<? extends java.lang.Integer> c)
addAll
in interface java.util.Collection<java.lang.Integer>
addAll
in class java.util.AbstractCollection<java.lang.Integer>
AbstractCollection
.public boolean containsAll(IntCollection c)
IntCollection
containsAll
in interface IntCollection
c
- a type-specific collection.true
if this collection contains all elements of the argument.Collection.containsAll(Collection)
public boolean containsAll(java.util.Collection<?> c)
containsAll
in interface java.util.Collection<java.lang.Integer>
containsAll
in class java.util.AbstractCollection<java.lang.Integer>
AbstractCollection
.public boolean removeAll(IntCollection c)
IntCollection
removeAll
in interface IntCollection
c
- a type-specific collection.true
if this collection changed as a result of the call.Collection.removeAll(Collection)
public boolean removeAll(java.util.Collection<?> c)
removeAll
in interface java.util.Collection<java.lang.Integer>
removeAll
in class java.util.AbstractCollection<java.lang.Integer>
AbstractCollection
.public boolean retainAll(IntCollection c)
IntCollection
retainAll
in interface IntCollection
c
- a type-specific collection.true
if this collection changed as a result of the call.Collection.retainAll(Collection)
public boolean retainAll(java.util.Collection<?> c)
retainAll
in interface java.util.Collection<java.lang.Integer>
retainAll
in class java.util.AbstractCollection<java.lang.Integer>
AbstractCollection
.public java.lang.String toString()
toString
in class java.util.AbstractCollection<java.lang.Integer>