Package org.eclipse.collections.impl.set
Class AbstractUnifiedSet<T>
- java.lang.Object
-
- org.eclipse.collections.impl.AbstractRichIterable<T>
-
- org.eclipse.collections.impl.collection.mutable.AbstractMutableCollection<T>
-
- org.eclipse.collections.impl.set.AbstractUnifiedSet<T>
-
- All Implemented Interfaces:
java.lang.Cloneable
,java.lang.Iterable<T>
,java.util.Collection<T>
,java.util.Set<T>
,MutableCollection<T>
,InternalIterable<T>
,RichIterable<T>
,MutableSet<T>
,MutableSetIterable<T>
,Pool<T>
,SetIterable<T>
,UnsortedSetIterable<T>
,BatchIterable<T>
- Direct Known Subclasses:
UnifiedSet
,UnifiedSetWithHashingStrategy
public abstract class AbstractUnifiedSet<T> extends AbstractMutableCollection<T> implements MutableSet<T>, Pool<T>, BatchIterable<T>
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
DEFAULT_INITIAL_CAPACITY
protected static float
DEFAULT_LOAD_FACTOR
protected float
loadFactor
protected int
maxSize
-
Constructor Summary
Constructors Constructor Description AbstractUnifiedSet()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected int
allocate(int capacity)
protected abstract void
allocateTable(int sizeToAllocate)
boolean
allSatisfy(Predicate<? super T> predicate)
Returns true if the predicate evaluates to true for every element of the iterable or if the iterable is empty.<P> boolean
allSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns true if the predicate evaluates to true for every element of the collection, or returns false.boolean
anySatisfy(Predicate<? super T> predicate)
Returns true if the predicate evaluates to true for any element of the iterable.<P> boolean
anySatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns true if the predicate evaluates to true for any element of the collection, or return false.MutableSet<T>
asSynchronized()
Returns a synchronized wrapper backed by this collection.MutableSet<T>
asUnmodifiable()
Returns an unmodifiable view of the set.<B> LazyIterable<Pair<T,B>>
cartesianProduct(SetIterable<B> set)
Returns the set whose members are all possible ordered pairs (a, b) where a is a member ofthis
and b is a member ofset
.RichIterable<RichIterable<T>>
chunk(int size)
Partitions elements in fixed size chunks.abstract MutableSet<T>
clone()
<V> UnifiedSet<V>
collect(Function<? super T,? extends V> function)
Returns a new collection with the results of applying the specified function on each element of the source collection.<V> UnifiedSet<V>
collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function)
Returns a new collection with the results of applying the specified function on each element of the source collection, but only for those elements which return true upon evaluation of the predicate.<P,A>
UnifiedSet<A>collectWith(Function2<? super T,? super P,? extends A> function, P parameter)
Same asRichIterable.collect(Function)
with aFunction2
and specified parameter which is passed to the block.protected void
computeMaxSize(int capacity)
T
detect(Predicate<? super T> predicate)
Returns the first element of the iterable for which the predicate evaluates to true or null in the case where no element returns true.protected abstract T
detect(Predicate<? super T> predicate, int start, int end)
java.util.Optional<T>
detectOptional(Predicate<? super T> predicate)
Returns the first element of the iterable for which the predicate evaluates to true as an Optional.protected abstract java.util.Optional<T>
detectOptional(Predicate<? super T> predicate, int start, int end)
MutableSet<T>
difference(SetIterable<? extends T> subtrahendSet)
Returns the set of all members ofthis
that are not members ofsubtrahendSet
.<R extends java.util.Set<T>>
RdifferenceInto(SetIterable<? extends T> subtrahendSet, R targetSet)
Same asSetIterable.difference(SetIterable)
but adds all the objects totargetSet
and returns it.<V> UnifiedSet<V>
flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function)
flatCollect
is a special case ofRichIterable.collect(Function)
.int
getBatchCount(int batchSize)
protected abstract java.lang.Object[]
getTable()
<V> MutableMap<V,T>
groupByUniqueKey(Function<? super T,? extends V> function)
For each element of the iterable, the function is evaluated, and the results of these evaluations are collected into a new map, where the transformed value is the key.protected int
init(int initialCapacity)
<IV,P>
IVinjectIntoWith(IV injectValue, Function3<? super IV,? super T,? super P,? extends IV> function, P parameter)
Returns the final result of evaluating function using each element of the iterable, the previous evaluation result and the parameters.MutableSet<T>
intersect(SetIterable<? extends T> set)
Returns the set of all objects that are members of boththis
andset
.<R extends java.util.Set<T>>
RintersectInto(SetIterable<? extends T> set, R targetSet)
Same asSetIterable.intersect(SetIterable)
but adds all the objects totargetSet
and returns it.boolean
isProperSubsetOf(SetIterable<? extends T> candidateSuperset)
Returns true if all the members ofthis
are also members ofcandidateSuperset
and the two sets are not equal.boolean
isSubsetOf(SetIterable<? extends T> candidateSuperset)
Returns true if all the members ofthis
are also members ofcandidateSuperset
.abstract MutableSet<T>
newEmpty(int size)
boolean
noneSatisfy(Predicate<? super T> predicate)
Returns true if the predicate evaluates to false for every element of the iterable or if the iterable is empty.<P> boolean
noneSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns true if the predicate evaluates to false for every element of the collection, or return false.MutableSet<UnsortedSetIterable<T>>
powerSet()
Returns the set whose members are all possible subsets ofthis
.protected void
rehash()
protected abstract void
rehash(int newCapacity)
boolean
removeAllIterable(java.lang.Iterable<?> iterable)
boolean
retainAll(java.util.Collection<?> collection)
protected boolean
shortCircuit(Predicate<? super T> predicate, boolean expected, boolean onShortCircuit, boolean atEnd)
protected abstract boolean
shortCircuit(Predicate<? super T> predicate, boolean expected, boolean onShortCircuit, boolean atEnd, int start, int end)
protected abstract <P> boolean
shortCircuitWith(Predicate2<? super T,? super P> predicate2, P parameter, boolean expected, boolean onShortCircuit, boolean atEnd)
MutableSet<T>
symmetricDifference(SetIterable<? extends T> setB)
Returns the set of all objects that are a member of exactly one ofthis
andsetB
(elements which are in one of the sets, but not in both).<R extends java.util.Set<T>>
RsymmetricDifferenceInto(SetIterable<? extends T> set, R targetSet)
Same asSetIterable.symmetricDifference(SetIterable)
but adds all the objects totargetSet
and returns it.MutableSet<T>
union(SetIterable<? extends T> set)
Returns the set of all objects that are a member ofthis
orset
or both.<R extends java.util.Set<T>>
RunionInto(SetIterable<? extends T> set, R targetSet)
Same asSetIterable.union(SetIterable)
but adds all the objects totargetSet
and returns it.<S> MutableSet<Pair<T,S>>
zip(java.lang.Iterable<S> that)
Deprecated.in 6.0.MutableSet<Pair<T,java.lang.Integer>>
zipWithIndex()
Deprecated.in 6.0.-
Methods inherited from class org.eclipse.collections.impl.collection.mutable.AbstractMutableCollection
add, addAll, addAllIterable, countBy, countByEach, countByWith, reduce, remove, removeAll, removeIf, removeIfWith, retainAllIterable, selectAndRejectWith, sumByDouble, sumByFloat, sumByInt, sumByLong
-
Methods inherited from class org.eclipse.collections.impl.AbstractRichIterable
appendString, appendString, asLazy, collect, collectIf, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, count, countWith, detectWith, detectWithIfNone, detectWithOptional, flatCollect, forEach, forEachWith, forEachWithIndex, groupBy, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, into, isEmpty, max, max, maxBy, min, min, minBy, reject, rejectWith, select, selectWith, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toBiMap, toList, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString, zip, zipWithIndex
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.impl.parallel.BatchIterable
batchForEach, forEach, size
-
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach, forEachWith, forEachWithIndex
-
Methods inherited from interface org.eclipse.collections.api.collection.MutableCollection
addAllIterable, aggregateBy, aggregateInPlaceBy, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, countBy, countByEach, countByWith, flatCollectWith, partition, partitionWith, reject, rejectWith, removeIf, removeIfWith, retainAllIterable, select, selectAndRejectWith, selectInstancesOf, selectWith, sumByDouble, sumByFloat, sumByInt, sumByLong, tap, toImmutable
-
Methods inherited from interface org.eclipse.collections.api.set.MutableSet
collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, flatCollectWith, groupBy, groupByEach, newEmpty, partition, partitionWith, reject, rejectWith, select, selectInstancesOf, selectWith, tap, toImmutable, toImmutableSet, with, withAll, without, withoutAll
-
Methods inherited from interface org.eclipse.collections.api.set.Pool
clear, get, put, removeFromPool, size
-
Methods inherited from interface org.eclipse.collections.api.RichIterable
aggregateBy, appendString, appendString, appendString, asLazy, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, containsAny, containsAnyIterable, containsBy, containsNone, containsNoneIterable, count, countBy, countByEach, countByWith, countWith, detectIfNone, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, flatCollectWith, forEach, getAny, getFirst, getLast, getOnly, groupBy, groupByAndCollect, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, into, isEmpty, makeString, makeString, makeString, makeString, max, max, maxBy, maxByOptional, maxOptional, maxOptional, min, min, minBy, minByOptional, minOptional, minOptional, notEmpty, reduce, reduceInPlace, reduceInPlace, reject, rejectWith, select, selectWith, size, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toBiMap, toImmutableBag, toImmutableBiMap, toImmutableList, toImmutableMap, toImmutableSortedBag, toImmutableSortedBag, toImmutableSortedBagBy, toImmutableSortedList, toImmutableSortedList, toImmutableSortedListBy, toImmutableSortedSet, toImmutableSortedSet, toImmutableSortedSetBy, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString, zip, zipWithIndex
-
Methods inherited from interface java.util.Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, size, spliterator, toArray, toArray
-
Methods inherited from interface org.eclipse.collections.api.set.SetIterable
equals, hashCode
-
Methods inherited from interface org.eclipse.collections.api.set.UnsortedSetIterable
asParallel
-
-
-
-
Field Detail
-
DEFAULT_LOAD_FACTOR
protected static final float DEFAULT_LOAD_FACTOR
- See Also:
- Constant Field Values
-
DEFAULT_INITIAL_CAPACITY
protected static final int DEFAULT_INITIAL_CAPACITY
- See Also:
- Constant Field Values
-
loadFactor
protected float loadFactor
-
maxSize
protected int maxSize
-
-
Method Detail
-
getTable
protected abstract java.lang.Object[] getTable()
-
allocateTable
protected abstract void allocateTable(int sizeToAllocate)
-
rehash
protected abstract void rehash(int newCapacity)
-
detectOptional
protected abstract java.util.Optional<T> detectOptional(Predicate<? super T> predicate, int start, int end)
-
clone
public abstract MutableSet<T> clone()
- Specified by:
clone
in interfaceMutableSet<T>
- Overrides:
clone
in classjava.lang.Object
-
newEmpty
public abstract MutableSet<T> newEmpty(int size)
-
shortCircuit
protected abstract boolean shortCircuit(Predicate<? super T> predicate, boolean expected, boolean onShortCircuit, boolean atEnd, int start, int end)
-
shortCircuitWith
protected abstract <P> boolean shortCircuitWith(Predicate2<? super T,? super P> predicate2, P parameter, boolean expected, boolean onShortCircuit, boolean atEnd)
-
init
protected int init(int initialCapacity)
-
allocate
protected int allocate(int capacity)
-
computeMaxSize
protected void computeMaxSize(int capacity)
-
rehash
protected void rehash()
-
shortCircuit
protected boolean shortCircuit(Predicate<? super T> predicate, boolean expected, boolean onShortCircuit, boolean atEnd)
-
getBatchCount
public int getBatchCount(int batchSize)
- Specified by:
getBatchCount
in interfaceBatchIterable<T>
-
collect
public <V> UnifiedSet<V> collect(Function<? super T,? extends V> function)
Description copied from interface:RichIterable
Returns a new collection with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.Example using a Java 8 lambda expression:
RichIterable<String> names = people.collect(person -> person.getFirstName() + " " + person.getLastName());
Example using an anonymous inner class:
RichIterable<String> names = people.collect(new Function<Person, String>() { public String valueOf(Person person) { return person.getFirstName() + " " + person.getLastName(); } });
- Specified by:
collect
in interfaceMutableCollection<T>
- Specified by:
collect
in interfaceMutableSet<T>
- Specified by:
collect
in interfaceRichIterable<T>
- Specified by:
collect
in interfaceUnsortedSetIterable<T>
-
flatCollect
public <V> UnifiedSet<V> flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function)
Description copied from interface:RichIterable
flatCollect
is a special case ofRichIterable.collect(Function)
. Withcollect
, when theFunction
returns a collection, the result is a collection of collections.flatCollect
outputs a single "flattened" collection instead. This method is commonly called flatMap.Consider the following example where we have a
Person
class, and eachPerson
has a list ofAddress
objects. Take the followingFunction
:Function<Person, List<Address>> addressFunction = Person::getAddresses; RichIterable<Person> people = ...;
Usingcollect
returns a collection of collections of addresses.RichIterable<List<Address>> addresses = people.collect(addressFunction);
UsingflatCollect
returns a single flattened list of addresses.RichIterable<Address> addresses = people.flatCollect(addressFunction);
- Specified by:
flatCollect
in interfaceMutableCollection<T>
- Specified by:
flatCollect
in interfaceMutableSet<T>
- Specified by:
flatCollect
in interfaceRichIterable<T>
- Specified by:
flatCollect
in interfaceUnsortedSetIterable<T>
- Parameters:
function
- TheFunction
to apply- Returns:
- a new flattened collection produced by applying the given
function
-
collectWith
public <P,A> UnifiedSet<A> collectWith(Function2<? super T,? super P,? extends A> function, P parameter)
Description copied from interface:RichIterable
Same asRichIterable.collect(Function)
with aFunction2
and specified parameter which is passed to the block.Example using a Java 8 lambda expression:
RichIterable<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -> each + parameter, Integer.valueOf(1));
Example using an anonymous inner class:
Function2<Integer, Integer, Integer> addParameterFunction = new Function2<Integer, Integer, Integer>() { public Integer value(Integer each, Integer parameter) { return each + parameter; } }; RichIterable<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith(addParameterFunction, Integer.valueOf(1));
- Specified by:
collectWith
in interfaceMutableCollection<T>
- Specified by:
collectWith
in interfaceMutableSet<T>
- Specified by:
collectWith
in interfaceRichIterable<T>
- Specified by:
collectWith
in interfaceUnsortedSetIterable<T>
- Parameters:
function
- AFunction2
to use as the collect transformation functionparameter
- A parameter to pass in for evaluation of the second argumentP
infunction
- Returns:
- A new
RichIterable
that contains the transformed elements returned byFunction2.value(Object, Object)
- See Also:
RichIterable.collect(Function)
-
collectIf
public <V> UnifiedSet<V> collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function)
Description copied from interface:RichIterable
Returns a new collection with the results of applying the specified function on each element of the source collection, but only for those elements which return true upon evaluation of the predicate. This is the optimized equivalent of calling iterable.select(predicate).collect(function).Example using a Java 8 lambda and method reference:
RichIterable<String> strings = Lists.mutable.with(1, 2, 3).collectIf(e -> e != null, Object::toString);
Example using Predicates factory:
RichIterable<String> strings = Lists.mutable.with(1, 2, 3).collectIf(Predicates.notNull(), Functions.getToString());
- Specified by:
collectIf
in interfaceMutableCollection<T>
- Specified by:
collectIf
in interfaceMutableSet<T>
- Specified by:
collectIf
in interfaceRichIterable<T>
- Specified by:
collectIf
in interfaceUnsortedSetIterable<T>
-
detect
public T detect(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns the first element of the iterable for which the predicate evaluates to true or null in the case where no element returns true. This method is commonly called find.Example using a Java 8 lambda expression:
Person person = people.detect(person -> person.getFirstName().equals("John") && person.getLastName().equals("Smith"));
Example using an anonymous inner class:
Person person = people.detect(new Predicate<Person>() { public boolean accept(Person person) { return person.getFirstName().equals("John") && person.getLastName().equals("Smith"); } });
- Specified by:
detect
in interfaceRichIterable<T>
- Overrides:
detect
in classAbstractRichIterable<T>
-
detectOptional
public java.util.Optional<T> detectOptional(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns the first element of the iterable for which the predicate evaluates to true as an Optional. This method is commonly called find.Example using a Java 8 lambda expression:
Person person = people.detectOptional(person -> person.getFirstName().equals("John") && person.getLastName().equals("Smith"));
- Specified by:
detectOptional
in interfaceRichIterable<T>
- Overrides:
detectOptional
in classAbstractRichIterable<T>
-
anySatisfy
public boolean anySatisfy(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to true for any element of the iterable. Returns false if the iterable is empty, or if no element returned true when evaluating the predicate.- Specified by:
anySatisfy
in interfaceRichIterable<T>
- Overrides:
anySatisfy
in classAbstractRichIterable<T>
-
anySatisfyWith
public <P> boolean anySatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to true for any element of the collection, or return false. Returns false if the collection is empty.- Specified by:
anySatisfyWith
in interfaceRichIterable<T>
- Overrides:
anySatisfyWith
in classAbstractRichIterable<T>
-
allSatisfy
public boolean allSatisfy(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to true for every element of the iterable or if the iterable is empty. Otherwise, returns false.- Specified by:
allSatisfy
in interfaceRichIterable<T>
- Overrides:
allSatisfy
in classAbstractRichIterable<T>
-
allSatisfyWith
public <P> boolean allSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to true for every element of the collection, or returns false.- Specified by:
allSatisfyWith
in interfaceRichIterable<T>
- Overrides:
allSatisfyWith
in classAbstractRichIterable<T>
-
noneSatisfy
public boolean noneSatisfy(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to false for every element of the iterable or if the iterable is empty. Otherwise, returns false.- Specified by:
noneSatisfy
in interfaceRichIterable<T>
- Overrides:
noneSatisfy
in classAbstractRichIterable<T>
-
noneSatisfyWith
public <P> boolean noneSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to false for every element of the collection, or return false. Returns true if the collection is empty.- Specified by:
noneSatisfyWith
in interfaceRichIterable<T>
- Overrides:
noneSatisfyWith
in classAbstractRichIterable<T>
-
injectIntoWith
public <IV,P> IV injectIntoWith(IV injectValue, Function3<? super IV,? super T,? super P,? extends IV> function, P parameter)
Description copied from interface:MutableCollection
Returns the final result of evaluating function using each element of the iterable, the previous evaluation result and the parameters. The injected value is used for the first parameter of the first evaluation, and the current item in the iterable is used as the second parameter. The parameter value is always used as the third parameter to the function call.- Specified by:
injectIntoWith
in interfaceMutableCollection<T>
- Overrides:
injectIntoWith
in classAbstractMutableCollection<T>
- See Also:
RichIterable.injectInto(Object, Function2)
-
asUnmodifiable
public MutableSet<T> asUnmodifiable()
Description copied from interface:MutableSet
Returns an unmodifiable view of the set.- Specified by:
asUnmodifiable
in interfaceMutableCollection<T>
- Specified by:
asUnmodifiable
in interfaceMutableSet<T>
- Returns:
- an unmodifiable view of this set
- See Also:
Collections.unmodifiableCollection(Collection)
-
asSynchronized
public MutableSet<T> asSynchronized()
Description copied from interface:MutableCollection
Returns a synchronized wrapper backed by this collection. This is the equivalent of usingCollections.synchronizedCollection(this)
only with a return type that supports the full iteration protocols available onMutableCollection
. The preferred way of iterating over a synchronized collection is to use the internal iteration methods which are properly synchronized internally.MutableCollection synchedCollection = collection.asSynchronized(); ... synchedCollection.forEach(each -> ... ); synchedCollection.select(each -> ... ); synchedCollection.collect(each -> ... );
If you want to iterate using an imperative style, you must protect external iterators using a synchronized block. This includes explicit iterators as well as JDK 5 style for loops.- Specified by:
asSynchronized
in interfaceMutableCollection<T>
- Specified by:
asSynchronized
in interfaceMutableSet<T>
- Returns:
- a synchronized view of this collection.
- See Also:
Collections.synchronizedCollection(Collection)
-
removeAllIterable
public boolean removeAllIterable(java.lang.Iterable<?> iterable)
- Specified by:
removeAllIterable
in interfaceMutableCollection<T>
- Overrides:
removeAllIterable
in classAbstractMutableCollection<T>
- See Also:
Collection.removeAll(Collection)
-
retainAll
public boolean retainAll(java.util.Collection<?> collection)
- Specified by:
retainAll
in interfacejava.util.Collection<T>
- Specified by:
retainAll
in interfacejava.util.Set<T>
- Overrides:
retainAll
in classAbstractMutableCollection<T>
-
groupByUniqueKey
public <V> MutableMap<V,T> groupByUniqueKey(Function<? super T,? extends V> function)
Description copied from interface:RichIterable
For each element of the iterable, the function is evaluated, and the results of these evaluations are collected into a new map, where the transformed value is the key. The generated keys must each be unique, or else an exception is thrown.- Specified by:
groupByUniqueKey
in interfaceMutableCollection<T>
- Specified by:
groupByUniqueKey
in interfaceRichIterable<T>
- Overrides:
groupByUniqueKey
in classAbstractMutableCollection<T>
- See Also:
RichIterable.groupBy(Function)
-
zip
@Deprecated public <S> MutableSet<Pair<T,S>> zip(java.lang.Iterable<S> that)
Deprecated.in 6.0. UseOrderedIterable.zip(Iterable)
instead.Description copied from interface:RichIterable
Returns aRichIterable
formed from thisRichIterable
and anotherRichIterable
by combining corresponding elements in pairs. If one of the twoRichIterable
s is longer than the other, its remaining elements are ignored.- Specified by:
zip
in interfaceMutableCollection<T>
- Specified by:
zip
in interfaceMutableSet<T>
- Specified by:
zip
in interfaceMutableSetIterable<T>
- Specified by:
zip
in interfaceRichIterable<T>
- Specified by:
zip
in interfaceUnsortedSetIterable<T>
- Type Parameters:
S
- the type of the second half of the returned pairs- Parameters:
that
- TheRichIterable
providing the second half of each result pair- Returns:
- A new
RichIterable
containing pairs consisting of corresponding elements of thisRichIterable
and that. The length of the returnedRichIterable
is the minimum of the lengths of thisRichIterable
and that.
-
zipWithIndex
@Deprecated public MutableSet<Pair<T,java.lang.Integer>> zipWithIndex()
Deprecated.in 6.0. UseOrderedIterable.zipWithIndex()
instead.Description copied from interface:RichIterable
Zips thisRichIterable
with its indices.- Specified by:
zipWithIndex
in interfaceMutableCollection<T>
- Specified by:
zipWithIndex
in interfaceMutableSet<T>
- Specified by:
zipWithIndex
in interfaceMutableSetIterable<T>
- Specified by:
zipWithIndex
in interfaceRichIterable<T>
- Specified by:
zipWithIndex
in interfaceSetIterable<T>
- Specified by:
zipWithIndex
in interfaceUnsortedSetIterable<T>
- Returns:
- A new
RichIterable
containing pairs consisting of all elements of thisRichIterable
paired with their index. Indices start at 0. - See Also:
RichIterable.zip(Iterable)
-
chunk
public RichIterable<RichIterable<T>> chunk(int size)
Description copied from interface:RichIterable
Partitions elements in fixed size chunks.- Specified by:
chunk
in interfaceRichIterable<T>
- Overrides:
chunk
in classAbstractMutableCollection<T>
- Parameters:
size
- the number of elements per chunk- Returns:
- A
RichIterable
containingRichIterable
s of sizesize
, except the last will be truncated if the elements don't divide evenly.
-
union
public MutableSet<T> union(SetIterable<? extends T> set)
Description copied from interface:SetIterable
Returns the set of all objects that are a member ofthis
orset
or both. The union of [1, 2, 3] and [2, 3, 4] is the set [1, 2, 3, 4]. If equal elements appear in both sets, then the output will contain the copy fromthis
.- Specified by:
union
in interfaceMutableSet<T>
- Specified by:
union
in interfaceSetIterable<T>
- Specified by:
union
in interfaceUnsortedSetIterable<T>
-
unionInto
public <R extends java.util.Set<T>> R unionInto(SetIterable<? extends T> set, R targetSet)
Description copied from interface:SetIterable
Same asSetIterable.union(SetIterable)
but adds all the objects totargetSet
and returns it.- Specified by:
unionInto
in interfaceSetIterable<T>
-
intersect
public MutableSet<T> intersect(SetIterable<? extends T> set)
Description copied from interface:SetIterable
Returns the set of all objects that are members of boththis
andset
. The intersection of [1, 2, 3] and [2, 3, 4] is the set [2, 3]. The output will contain instances fromthis
, notset
.- Specified by:
intersect
in interfaceMutableSet<T>
- Specified by:
intersect
in interfaceSetIterable<T>
- Specified by:
intersect
in interfaceUnsortedSetIterable<T>
-
intersectInto
public <R extends java.util.Set<T>> R intersectInto(SetIterable<? extends T> set, R targetSet)
Description copied from interface:SetIterable
Same asSetIterable.intersect(SetIterable)
but adds all the objects totargetSet
and returns it.- Specified by:
intersectInto
in interfaceSetIterable<T>
-
difference
public MutableSet<T> difference(SetIterable<? extends T> subtrahendSet)
Description copied from interface:SetIterable
Returns the set of all members ofthis
that are not members ofsubtrahendSet
. The difference of [1, 2, 3] and [2, 3, 4] is [1].- Specified by:
difference
in interfaceMutableSet<T>
- Specified by:
difference
in interfaceSetIterable<T>
- Specified by:
difference
in interfaceUnsortedSetIterable<T>
-
differenceInto
public <R extends java.util.Set<T>> R differenceInto(SetIterable<? extends T> subtrahendSet, R targetSet)
Description copied from interface:SetIterable
Same asSetIterable.difference(SetIterable)
but adds all the objects totargetSet
and returns it.- Specified by:
differenceInto
in interfaceSetIterable<T>
-
symmetricDifference
public MutableSet<T> symmetricDifference(SetIterable<? extends T> setB)
Description copied from interface:SetIterable
Returns the set of all objects that are a member of exactly one ofthis
andsetB
(elements which are in one of the sets, but not in both). For instance, for the sets [1, 2, 3] and [2, 3, 4], the symmetric difference set is [1, 4] . It is the set difference of the union and the intersection.- Specified by:
symmetricDifference
in interfaceMutableSet<T>
- Specified by:
symmetricDifference
in interfaceSetIterable<T>
- Specified by:
symmetricDifference
in interfaceUnsortedSetIterable<T>
-
symmetricDifferenceInto
public <R extends java.util.Set<T>> R symmetricDifferenceInto(SetIterable<? extends T> set, R targetSet)
Description copied from interface:SetIterable
Same asSetIterable.symmetricDifference(SetIterable)
but adds all the objects totargetSet
and returns it.- Specified by:
symmetricDifferenceInto
in interfaceSetIterable<T>
-
isSubsetOf
public boolean isSubsetOf(SetIterable<? extends T> candidateSuperset)
Description copied from interface:SetIterable
Returns true if all the members ofthis
are also members ofcandidateSuperset
. For example, [1, 2] is a subset of [1, 2, 3], but [1, 4] is not.- Specified by:
isSubsetOf
in interfaceSetIterable<T>
-
isProperSubsetOf
public boolean isProperSubsetOf(SetIterable<? extends T> candidateSuperset)
Description copied from interface:SetIterable
Returns true if all the members ofthis
are also members ofcandidateSuperset
and the two sets are not equal. For example, [1, 2] is a proper subset of [1, 2, 3], but [1, 2, 3] is not.- Specified by:
isProperSubsetOf
in interfaceSetIterable<T>
-
powerSet
public MutableSet<UnsortedSetIterable<T>> powerSet()
Description copied from interface:UnsortedSetIterable
Returns the set whose members are all possible subsets ofthis
. For example, the powerset of [1, 2] is [[], [1], [2], [1, 2]].- Specified by:
powerSet
in interfaceMutableSet<T>
- Specified by:
powerSet
in interfaceUnsortedSetIterable<T>
-
cartesianProduct
public <B> LazyIterable<Pair<T,B>> cartesianProduct(SetIterable<B> set)
Description copied from interface:SetIterable
Returns the set whose members are all possible ordered pairs (a, b) where a is a member ofthis
and b is a member ofset
.- Specified by:
cartesianProduct
in interfaceSetIterable<T>
-
-