Interface CharCollection
-
- All Superinterfaces:
CharIterable
,java.util.Collection<java.lang.Character>
,java.lang.Iterable<java.lang.Character>
- All Known Subinterfaces:
CharBigList
,CharList
,CharSet
,CharSortedSet
- All Known Implementing Classes:
AbstractCharBigList
,AbstractCharBigList.CharRandomAccessSubList
,AbstractCharBigList.CharSubList
,AbstractCharCollection
,AbstractCharList
,AbstractCharList.CharRandomAccessSubList
,AbstractCharList.CharSubList
,AbstractCharSet
,AbstractCharSortedSet
,CharArrayList
,CharArraySet
,CharAVLTreeSet
,CharBigArrayBigList
,CharBigLists.EmptyBigList
,CharBigLists.ListBigList
,CharBigLists.Singleton
,CharBigLists.SynchronizedBigList
,CharBigLists.UnmodifiableBigList
,CharCollections.EmptyCollection
,CharCollections.IterableCollection
,CharImmutableList
,CharLinkedOpenCustomHashSet
,CharLinkedOpenHashSet
,CharLists.EmptyList
,CharLists.Singleton
,CharLists.SynchronizedList
,CharLists.SynchronizedRandomAccessList
,CharLists.UnmodifiableList
,CharLists.UnmodifiableRandomAccessList
,CharMappedBigList
,CharOpenCustomHashSet
,CharOpenHashSet
,CharRBTreeSet
,CharSets.EmptySet
,CharSets.Singleton
,CharSets.SynchronizedSet
,CharSets.UnmodifiableSet
,CharSortedSets.EmptySet
,CharSortedSets.Singleton
,CharSortedSets.SynchronizedSortedSet
,CharSortedSets.UnmodifiableSortedSet
public interface CharCollection extends java.util.Collection<java.lang.Character>, CharIterable
A type-specificCollection
; 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 ofequals
), which may result in breaks in contract if attempted to be used with non reference-equality semantics basedCollection
s. For example, aaReferenceCollection.equals(aObjectCollection)
may return different a different result thenaObjectCollection.equals(aReferenceCollection)
, in violation ofequals
's contract requiring it being symmetric.- See Also:
Collection
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description boolean
add(char key)
Ensures that this collection contains the specified element (optional operation).default boolean
add(java.lang.Character key)
Deprecated.Please use the corresponding type-specific method instead.boolean
addAll(CharCollection c)
Adds all elements of the given type-specific collection to this collection.boolean
contains(char key)
Returnstrue
if this collection contains the specified element.default boolean
contains(java.lang.Object key)
Deprecated.Please use the corresponding type-specific method instead.boolean
containsAll(CharCollection c)
Checks whether this collection contains all elements from the given type-specific collection.default IntIterator
intIterator()
Returns a widened primitive iterator on the elements of this collection.default java.util.stream.IntStream
intParallelStream()
Return a parallel primitive stream over the elements, performing widening casts if needed.default IntSpliterator
intSpliterator()
Returns widened primitive spliterator on the elements of this collection.default java.util.stream.IntStream
intStream()
Return a primitive stream over the elements, performing widening casts if needed.CharIterator
iterator()
Returns a type-specific iterator on the elements of this collection.default java.util.stream.Stream<java.lang.Character>
parallelStream()
Deprecated.Please use the corresponding type-specific method instead.boolean
rem(char key)
Removes a single instance of the specified element from this collection, if it is present (optional operation).default boolean
remove(java.lang.Object key)
Deprecated.Please use (and implement) therem()
method instead.boolean
removeAll(CharCollection c)
Remove from this collection all elements in the given type-specific collection.default boolean
removeIf(CharPredicate filter)
Remove from this collection all elements which satisfy the given predicate.default boolean
removeIf(java.util.function.IntPredicate filter)
Remove from this collection all elements which satisfy the given predicate.default boolean
removeIf(java.util.function.Predicate<? super java.lang.Character> filter)
Deprecated.Please use the corresponding type-specific method instead.boolean
retainAll(CharCollection c)
Retains in this collection only elements from the given type-specific collection.default CharSpliterator
spliterator()
Returns a type-specific spliterator on the elements of this collection.default java.util.stream.Stream<java.lang.Character>
stream()
Deprecated.Please use the corresponding type-specific method instead.char[]
toArray(char[] 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.char[]
toCharArray()
Returns a primitive type array containing the items of this collection.default char[]
toCharArray(char[] a)
Deprecated.Please usetoArray()
instead—this method is redundant and will be removed in the future.-
Methods inherited from interface it.unimi.dsi.fastutil.chars.CharIterable
forEach, forEach, forEach
-
-
-
-
Method Detail
-
iterator
CharIterator iterator()
Returns a type-specific iterator on the elements of this collection.- Specified by:
iterator
in interfaceCharIterable
- Specified by:
iterator
in interfacejava.util.Collection<java.lang.Character>
- Specified by:
iterator
in interfacejava.lang.Iterable<java.lang.Character>
- 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
default IntIterator intIterator()
Returns a widened primitive iterator on the elements of this collection.This method is provided for the purpose of APIs that expect only the JDK's primitive iterators, of which there are only
int
,long
, anddouble
.WARNING: This is not the same as converting the source to a sequence of code points. This returned instance literally performs
(int)(charValue)
casts. Surrogate pairs will be left as separate elements instead of combined into a single element with the code point it represents. SeeCharacter
for more discussion on code points, char values, and surrogate pairs.- Specified by:
intIterator
in interfaceCharIterable
- Returns:
- a widened primitive iterator on the elements of this collection.
- Since:
- 8.5.0
-
spliterator
default CharSpliterator 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:
spliterator
in interfaceCharIterable
- Specified by:
spliterator
in interfacejava.util.Collection<java.lang.Character>
- Specified by:
spliterator
in interfacejava.lang.Iterable<java.lang.Character>
- 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
spliterator
method subclasses should override. - Implementation Specification:
- The default implementation returns a late-binding spliterator (see
Spliterator
for 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
Iterator
is 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
default IntSpliterator intSpliterator()
Returns widened primitive spliterator on the elements of this collection.This method is provided for the purpose of APIs that expect only the JDK's primitive spliterators, of which there are only
int
,long
, anddouble
.WARNING: This is not the same as converting the source to a sequence of code points. This returned instance literally performs
(int)(charValue)
casts. Surrogate pairs will be left as separate elements instead of combined into a single element with the code point it represents. SeeCharacter
for more discussion on code points, char values, and surrogate pairs.- Specified by:
intSpliterator
in interfaceCharIterable
- Returns:
- a widened primitive spliterator on the elements of this collection.
- Since:
- 8.5.0
-
add
boolean add(char key)
Ensures that this collection contains the specified element (optional operation).- See Also:
Collection.add(Object)
-
contains
boolean contains(char key)
Returnstrue
if this collection contains the specified element.- See Also:
Collection.contains(Object)
-
rem
boolean rem(char 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 theList
interface 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.Character key)
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
add
in interfacejava.util.Collection<java.lang.Character>
-
contains
@Deprecated default boolean contains(java.lang.Object key)
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
contains
in interfacejava.util.Collection<java.lang.Character>
-
remove
@Deprecated default boolean remove(java.lang.Object key)
Deprecated.Please use (and implement) therem()
method instead.- Specified by:
remove
in interfacejava.util.Collection<java.lang.Character>
-
toCharArray
char[] toCharArray()
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()
-
toCharArray
@Deprecated default char[] toCharArray(char[] 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
char[] toArray(char[] 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
boolean addAll(CharCollection c)
Adds all elements of the given type-specific collection to this collection.- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection changed as a result of the call.- See Also:
Collection.addAll(Collection)
-
containsAll
boolean containsAll(CharCollection c)
Checks whether this collection contains all elements from the given type-specific collection.- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection contains all elements of the argument.- See Also:
Collection.containsAll(Collection)
-
removeAll
boolean removeAll(CharCollection c)
Remove from this collection all elements in the given type-specific collection.- Parameters:
c
- a type-specific collection.- Returns:
true
if 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.Character> filter)
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
removeIf
in interfacejava.util.Collection<java.lang.Character>
-
removeIf
default boolean removeIf(CharPredicate filter)
Remove from this collection all elements which satisfy the given predicate.- 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:
- 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
default boolean removeIf(java.util.function.IntPredicate filter)
Remove from this collection all elements which satisfy the given predicate.- 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)
- Implementation Notes:
- Unless the argument is type-specific, this method will introduce an intermediary lambda to perform widening casts. Please use the type-specific overload to avoid this overhead.
-
retainAll
boolean retainAll(CharCollection c)
Retains in this collection only elements from the given type-specific collection.- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection changed as a result of the call.- See Also:
Collection.retainAll(Collection)
-
stream
@Deprecated default java.util.stream.Stream<java.lang.Character> stream()
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
stream
in interfacejava.util.Collection<java.lang.Character>
-
intStream
default java.util.stream.IntStream intStream()
Return a primitive stream over the elements, performing widening casts if needed.WARNING: This is not the same as converting the source to a sequence of code points. This returned instance literally performs
(int)(charValue)
casts. Surrogate pairs will be left as separate elements instead of combined into a single element with the code point it represents. SeeCharacter
for more discussion on code points, char values, and surrogate pairs.- Returns:
- a primitive stream over the elements.
- See Also:
Collection.stream()
,IntStream
-
parallelStream
@Deprecated default java.util.stream.Stream<java.lang.Character> parallelStream()
Deprecated.Please use the corresponding type-specific method instead.- Specified by:
parallelStream
in interfacejava.util.Collection<java.lang.Character>
-
intParallelStream
default java.util.stream.IntStream intParallelStream()
Return a parallel primitive stream over the elements, performing widening casts if needed.WARNING: This is not the same as converting the source to a sequence of code points. This returned instance literally performs
(int)(charValue)
casts. Surrogate pairs will be left as separate elements instead of combined into a single element with the code point it represents. SeeCharacter
for more discussion on code points, char values, and surrogate pairs.- Returns:
- a parallel primitive stream over the elements.
- See Also:
Collection.parallelStream()
,IntStream
-
-