Interface IntCollection
- All Superinterfaces:
java.util.Collection<java.lang.Integer>,IntIterable,java.lang.Iterable<java.lang.Integer>
- All Known Subinterfaces:
IntBigList,IntList,IntSet,IntSortedSet
- All Known Implementing Classes:
AbstractIntBigList,AbstractIntBigList.IntRandomAccessSubList,AbstractIntBigList.IntSubList,AbstractIntCollection,AbstractIntList,AbstractIntList.IntRandomAccessSubList,AbstractIntList.IntSubList,AbstractIntSet,AbstractIntSortedSet,IntArrayList,IntArraySet,IntAVLTreeSet,IntBigArrayBigList,IntBigLists.EmptyBigList,IntBigLists.ListBigList,IntBigLists.Singleton,IntBigLists.SynchronizedBigList,IntBigLists.UnmodifiableBigList,IntCollections.EmptyCollection,IntCollections.IterableCollection,IntImmutableList,IntLinkedOpenCustomHashSet,IntLinkedOpenHashSet,IntLists.EmptyList,IntLists.Singleton,IntLists.SynchronizedList,IntLists.SynchronizedRandomAccessList,IntLists.UnmodifiableList,IntLists.UnmodifiableRandomAccessList,IntOpenCustomHashSet,IntOpenHashBigSet,IntOpenHashSet,IntRBTreeSet,IntSets.EmptySet,IntSets.Singleton,IntSets.SynchronizedSet,IntSets.UnmodifiableSet,IntSortedSets.EmptySet,IntSortedSets.Singleton,IntSortedSets.SynchronizedSortedSet,IntSortedSets.UnmodifiableSortedSet
public interface IntCollection extends java.util.Collection<java.lang.Integer>, IntIterable
Collection; provides some additional methods that use
polymorphism to avoid (un)boxing.
Additionally, this class defines strengthens (again) iterator().
This interface specifies reference equality semantics (members will be
compared equal with == instead of equals), which may result in breaks in contract if attempted to be used with
non reference-equality semantics based Collections. For example, a
aReferenceCollection.equals(aObjectCollection) may return different a
different result then aObjectCollection.equals(aReferenceCollection),
in violation of equals's contract requiring it being
symmetric.
- See Also:
Collection
-
Method Summary
Modifier and Type Method Description booleanadd(int key)Ensures that this collection contains the specified element (optional operation).default booleanadd(java.lang.Integer key)Deprecated.Please use the corresponding type-specific method instead.booleanaddAll(IntCollection c)Adds all elements of the given type-specific collection to this collection.booleancontains(int key)Returnstrueif this collection contains the specified element.default booleancontains(java.lang.Object key)Deprecated.Please use the corresponding type-specific method instead.booleancontainsAll(IntCollection c)Checks whether this collection contains all elements from the given type-specific collection.default IntIteratorintIterator()Returns a primitive iterator on the elements of this collection.default java.util.stream.IntStreamintParallelStream()Return a parallel primitive stream over the elements, performing widening casts if needed.default IntSpliteratorintSpliterator()Returns a primitive spliterator on the elements of this collection.default java.util.stream.IntStreamintStream()Return a primitive stream over the elements, performing widening casts if needed.IntIteratoriterator()Returns a type-specific iterator on the elements of this collection.default java.util.stream.Stream<java.lang.Integer>parallelStream()Deprecated.Please use the corresponding type-specific method instead.booleanrem(int key)Removes a single instance of the specified element from this collection, if it is present (optional operation).default booleanremove(java.lang.Object key)Deprecated.Please use (and implement) therem()method instead.booleanremoveAll(IntCollection c)Remove from this collection all elements in the given type-specific collection.default booleanremoveIf(IntPredicate filter)Remove from this collection all elements which satisfy the given predicate.default booleanremoveIf(java.util.function.IntPredicate filter)Remove from this collection all elements which satisfy the given predicate.default booleanremoveIf(java.util.function.Predicate<? super java.lang.Integer> filter)Deprecated.Please use the corresponding type-specific method instead.booleanretainAll(IntCollection c)Retains in this collection only elements from the given type-specific collection.default IntSpliteratorspliterator()Returns a type-specific spliterator on the elements of this collection.default java.util.stream.Stream<java.lang.Integer>stream()Deprecated.Please use the corresponding type-specific method instead.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.default int[]toIntArray(int[] a)Deprecated.Please usetoArray()instead—this method is redundant and will be removed in the future.Methods inherited from interface java.util.Collection
addAll, clear, containsAll, equals, hashCode, isEmpty, removeAll, retainAll, size, toArray, toArray, toArrayMethods inherited from interface it.unimi.dsi.fastutil.ints.IntIterable
forEach, forEach, forEach
-
Method Details
-
iterator
IntIterator iterator()Returns a type-specific iterator on the elements of this collection.- Specified by:
iteratorin interfacejava.util.Collection<java.lang.Integer>- Specified by:
iteratorin interfaceIntIterable- Specified by:
iteratorin interfacejava.lang.Iterable<java.lang.Integer>- Returns:
- a type-specific iterator on the elements of this collection.
- See Also:
Iterable.iterator()- API Notes:
- This specification strengthens the one given in
Iterable.iterator(), which was already strengthened in the corresponding type-specific class, but was weakened by the fact that this interface extendsCollection.
-
intIterator
Returns a primitive iterator on the elements of this collection.This method is identical to
iterator(), as the type-specific iterator is already compatible with the JDK's primitive iterators. It only exists for compatibility with the other primitive types'Collections that have use for widened iterators.- Specified by:
intIteratorin interfaceIntIterable- Returns:
- a primitive iterator on the elements of this collection.
- Since:
- 8.5.0
-
spliterator
Returns a type-specific spliterator on the elements of this collection.See
Collection.spliterator()for more documentation on the requirements of the returned spliterator.- Specified by:
spliteratorin interfacejava.util.Collection<java.lang.Integer>- Specified by:
spliteratorin interfaceIntIterable- Specified by:
spliteratorin interfacejava.lang.Iterable<java.lang.Integer>- Returns:
- a type-specific spliterator on the elements of this collection.
- Since:
- 8.5.0
- API Notes:
- This specification strengthens the one given in
Collection.spliterator().Also, this is generally the only
spliteratormethod subclasses should override. - Implementation Specification:
- The default implementation returns a late-binding spliterator (see
Spliteratorfor documentation on what binding policies mean) that wraps this instance's type specificiterator().Additionally, it reports
Spliterator.SIZED - Implementation Notes:
- As this default implementation wraps the iterator, and
Iteratoris an inherently linear API, the returned spliterator will yield limited performance gains when run in parallel contexts, as the returned spliterator'strySplit()will have linear runtime.
-
intSpliterator
Returns a primitive spliterator on the elements of this collection.This method is identical to
spliterator(), as the type-specific spliterator is already compatible with the JDK's primitive spliterators. It only exists for compatibility with the other primitive types'Collections that have use for widened spliterators.- Specified by:
intSpliteratorin interfaceIntIterable- Returns:
- a primitive spliterator on the elements of this collection.
- Since:
- 8.5.0
-
add
boolean add(int key)Ensures that this collection contains the specified element (optional operation).- See Also:
Collection.add(Object)
-
contains
boolean contains(int key)Returnstrueif this collection contains the specified element.- See Also:
Collection.contains(Object)
-
rem
boolean rem(int key)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 theListinterface forces us to use a distinguished name. For simplicity, the set interfaces reinstatesremove().- See Also:
Collection.remove(Object)
-
add
@Deprecated default boolean add(java.lang.Integer key)Deprecated.Please use the corresponding type-specific method instead.- Specified by:
addin interfacejava.util.Collection<java.lang.Integer>
-
contains
@Deprecated default boolean contains(java.lang.Object key)Deprecated.Please use the corresponding type-specific method instead.- Specified by:
containsin interfacejava.util.Collection<java.lang.Integer>
-
remove
@Deprecated default boolean remove(java.lang.Object key)Deprecated.Please use (and implement) therem()method instead.- Specified by:
removein interfacejava.util.Collection<java.lang.Integer>
-
toIntArray
int[] toIntArray()Returns a primitive type array containing the items of this collection.- Returns:
- a primitive type array containing the items of this collection.
- See Also:
Collection.toArray()
-
toIntArray
@Deprecated default 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.- 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[])
-
toArray
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.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.- 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[])
-
addAll
Adds all elements of the given type-specific collection to this collection.- Parameters:
c- a type-specific collection.- Returns:
trueif this collection changed as a result of the call.- See Also:
Collection.addAll(Collection)
-
containsAll
Checks whether this collection contains all elements from the given type-specific collection.- Parameters:
c- a type-specific collection.- Returns:
trueif this collection contains all elements of the argument.- See Also:
Collection.containsAll(Collection)
-
removeAll
Remove from this collection all elements in the given type-specific collection.- Parameters:
c- a type-specific collection.- Returns:
trueif this collection changed as a result of the call.- See Also:
Collection.removeAll(Collection)
-
removeIf
@Deprecated default boolean removeIf(java.util.function.Predicate<? super java.lang.Integer> filter)Deprecated.Please use the corresponding type-specific method instead.- Specified by:
removeIfin interfacejava.util.Collection<java.lang.Integer>
-
removeIf
default boolean removeIf(java.util.function.IntPredicate filter)Remove from this collection all elements which satisfy the given predicate.- Parameters:
filter- a predicate which returnstruefor elements to be removed.- Returns:
trueif any elements were removed.- See Also:
Collection.removeIf(java.util.function.Predicate)- API Notes:
- Implementing classes should generally override this method, and take the default implementation of the other overloads which will delegate to this method (after proper conversions).
-
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.- Parameters:
filter- a predicate which returnstruefor elements to be removed.- Returns:
trueif any elements were removed.- See Also:
Collection.removeIf(java.util.function.Predicate)
-
retainAll
Retains in this collection only elements from the given type-specific collection.- Parameters:
c- a type-specific collection.- Returns:
trueif this collection changed as a result of the call.- See Also:
Collection.retainAll(Collection)
-
stream
@Deprecated default java.util.stream.Stream<java.lang.Integer> stream()Deprecated.Please use the corresponding type-specific method instead.- Specified by:
streamin interfacejava.util.Collection<java.lang.Integer>
-
intStream
default java.util.stream.IntStream intStream()Return a primitive stream over the elements, performing widening casts if needed.- Returns:
- a primitive stream over the elements.
- See Also:
Collection.stream(),IntStream
-
parallelStream
@Deprecated default java.util.stream.Stream<java.lang.Integer> parallelStream()Deprecated.Please use the corresponding type-specific method instead.- Specified by:
parallelStreamin interfacejava.util.Collection<java.lang.Integer>
-
intParallelStream
default java.util.stream.IntStream intParallelStream()Return a parallel primitive stream over the elements, performing widening casts if needed.- Returns:
- a parallel primitive stream over the elements.
- See Also:
Collection.parallelStream(),IntStream
-