public abstract class AbstractUnifiedSet<T> extends AbstractRichIterable<T> implements com.gs.collections.api.set.MutableSet<T>, com.gs.collections.api.set.Pool<T>, BatchIterable<T>
| Modifier and Type | Field and Description |
|---|---|
protected static int |
DEFAULT_INITIAL_CAPACITY |
protected static float |
DEFAULT_LOAD_FACTOR |
protected float |
loadFactor |
protected int |
maxSize |
| Constructor and Description |
|---|
AbstractUnifiedSet() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addAll(java.util.Collection<? extends T> collection) |
<K2,V> com.gs.collections.api.map.MutableMap<K2,V> |
aggregateBy(com.gs.collections.api.block.function.Function<? super T,? extends K2> groupBy,
com.gs.collections.api.block.function.Function0<? extends V> zeroValueFactory,
com.gs.collections.api.block.function.Function2<? super V,? super T,? extends V> nonMutatingAggregator)
Applies an aggregate function over the iterable grouping results into a map based on the specific groupBy function.
|
<K2,V> com.gs.collections.api.map.MutableMap<K2,V> |
aggregateInPlaceBy(com.gs.collections.api.block.function.Function<? super T,? extends K2> groupBy,
com.gs.collections.api.block.function.Function0<? extends V> zeroValueFactory,
com.gs.collections.api.block.procedure.Procedure2<? super V,? super T> mutatingAggregator)
Applies an aggregate procedure over the iterable grouping results into a Map based on the specific groupBy function.
|
protected int |
allocate(int capacity) |
protected abstract void |
allocateTable(int sizeToAllocate) |
boolean |
allSatisfy(com.gs.collections.api.block.predicate.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(com.gs.collections.api.block.predicate.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(com.gs.collections.api.block.predicate.Predicate<? super T> predicate)
Returns true if the predicate evaluates to true for any element of the iterable.
|
<P> boolean |
anySatisfyWith(com.gs.collections.api.block.predicate.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.
|
com.gs.collections.api.set.MutableSet<T> |
asSynchronized()
Returns a synchronized (thread-safe) collection backed by this collection.
|
com.gs.collections.api.set.MutableSet<T> |
asUnmodifiable()
Returns an unmodifable view of the set.
|
<B> com.gs.collections.api.LazyIterable<com.gs.collections.api.tuple.Pair<T,B>> |
cartesianProduct(com.gs.collections.api.set.SetIterable<B> set)
Returns the set whose members are all possible ordered pairs (a, b) where a is a member of
this and b is a
member of set. |
com.gs.collections.api.RichIterable<com.gs.collections.api.RichIterable<T>> |
chunk(int size)
Partitions elements in fixed size chunks.
|
abstract com.gs.collections.api.set.MutableSet<T> |
clone() |
<V> UnifiedSet<V> |
collect(com.gs.collections.api.block.function.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.
|
com.gs.collections.api.set.primitive.MutableBooleanSet |
collectBoolean(com.gs.collections.api.block.function.primitive.BooleanFunction<? super T> booleanFunction)
Returns a new primitive
boolean iterable with the results of applying the specified function on each element
of the source collection. |
com.gs.collections.api.set.primitive.MutableByteSet |
collectByte(com.gs.collections.api.block.function.primitive.ByteFunction<? super T> byteFunction)
Returns a new primitive
byte iterable with the results of applying the specified function on each element
of the source collection. |
com.gs.collections.api.set.primitive.MutableCharSet |
collectChar(com.gs.collections.api.block.function.primitive.CharFunction<? super T> charFunction)
Returns a new primitive
char iterable with the results of applying the specified function on each element
of the source collection. |
com.gs.collections.api.set.primitive.MutableDoubleSet |
collectDouble(com.gs.collections.api.block.function.primitive.DoubleFunction<? super T> doubleFunction)
Returns a new primitive
double iterable with the results of applying the specified function on each element
of the source collection. |
com.gs.collections.api.set.primitive.MutableFloatSet |
collectFloat(com.gs.collections.api.block.function.primitive.FloatFunction<? super T> floatFunction)
Returns a new primitive
float iterable with the results of applying the specified function on each element
of the source collection. |
<V> UnifiedSet<V> |
collectIf(com.gs.collections.api.block.predicate.Predicate<? super T> predicate,
com.gs.collections.api.block.function.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.
|
com.gs.collections.api.set.primitive.MutableIntSet |
collectInt(com.gs.collections.api.block.function.primitive.IntFunction<? super T> intFunction)
Returns a new primitive
int iterable with the results of applying the specified function on each element
of the source collection. |
com.gs.collections.api.set.primitive.MutableLongSet |
collectLong(com.gs.collections.api.block.function.primitive.LongFunction<? super T> longFunction)
Returns a new primitive
long iterable with the results of applying the specified function on each element
of the source collection. |
com.gs.collections.api.set.primitive.MutableShortSet |
collectShort(com.gs.collections.api.block.function.primitive.ShortFunction<? super T> shortFunction)
Returns a new primitive
short iterable with the results of applying the specified function on each element
of the source collection. |
<P,A> UnifiedSet<A> |
collectWith(com.gs.collections.api.block.function.Function2<? super T,? super P,? extends A> function,
P parameter)
Same as
RichIterable.collect(Function) with a Function2 and specified parameter which is passed to the block. |
protected void |
computeMaxSize(int capacity) |
T |
detect(com.gs.collections.api.block.predicate.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(com.gs.collections.api.block.predicate.Predicate<? super T> predicate,
int start,
int end) |
com.gs.collections.api.set.MutableSet<T> |
difference(com.gs.collections.api.set.SetIterable<? extends T> subtrahendSet)
Returns the set of all members of
this that are not members of subtrahendSet. |
<R extends java.util.Set<T>> |
differenceInto(com.gs.collections.api.set.SetIterable<? extends T> subtrahendSet,
R targetSet)
Same as
SetIterable.difference(SetIterable) but adds all the objects to targetSet and returns it. |
<V> UnifiedSet<V> |
flatCollect(com.gs.collections.api.block.function.Function<? super T,? extends java.lang.Iterable<V>> function)
flatCollect is a special case of RichIterable.collect(Function). |
int |
getBatchCount(int batchSize) |
protected abstract java.lang.Object[] |
getTable() |
<V> UnifiedSetMultimap<V,T> |
groupByEach(com.gs.collections.api.block.function.Function<? super T,? extends java.lang.Iterable<V>> function)
Similar to
RichIterable.groupBy(Function), except the result of evaluating function will return a collection of keys
for each value. |
<V> com.gs.collections.api.map.MutableMap<V,T> |
groupByUniqueKey(com.gs.collections.api.block.function.Function<? super T,? extends V> function)
For each element of the iterable, the function is evaluated and he results of these evaluations are collected
into a new map, where the transformed value is the key.
|
protected int |
init(int initialCapacity) |
<IV,P> IV |
injectIntoWith(IV injectValue,
com.gs.collections.api.block.function.Function3<? super IV,? super T,? super P,? extends IV> function,
P parameter) |
com.gs.collections.api.set.MutableSet<T> |
intersect(com.gs.collections.api.set.SetIterable<? extends T> set)
Returns the set of all objects that are members of both
this and set. |
<R extends java.util.Set<T>> |
intersectInto(com.gs.collections.api.set.SetIterable<? extends T> set,
R targetSet)
Same as
SetIterable.intersect(SetIterable) but adds all the objects to targetSet and returns it. |
boolean |
isProperSubsetOf(com.gs.collections.api.set.SetIterable<? extends T> candidateSuperset)
Returns true if all the members of
this are also members of candidateSuperset and the
two sets are not equal. |
boolean |
isSubsetOf(com.gs.collections.api.set.SetIterable<? extends T> candidateSuperset)
Returns true if all the members of
this are also members of candidateSuperset. |
boolean |
noneSatisfy(com.gs.collections.api.block.predicate.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(com.gs.collections.api.block.predicate.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.
|
com.gs.collections.api.set.MutableSet<com.gs.collections.api.set.UnsortedSetIterable<T>> |
powerSet()
Returns the set whose members are all possible subsets of
this. |
protected void |
rehash() |
protected abstract void |
rehash(int newCapacity) |
boolean |
removeAll(java.util.Collection<?> collection) |
boolean |
removeAllIterable(java.lang.Iterable<?> iterable) |
boolean |
removeIf(com.gs.collections.api.block.predicate.Predicate<? super T> predicate)
Removes all elements in the collection that evaluate to true for the specified predicate.
|
<P> boolean |
removeIfWith(com.gs.collections.api.block.predicate.Predicate2<? super T,? super P> predicate,
P parameter)
Removes all elements in the collection that evaluate to true for the specified predicate2 and parameter.
|
boolean |
retainAll(java.util.Collection<?> collection) |
protected boolean |
shortCircuit(com.gs.collections.api.block.predicate.Predicate<? super T> predicate,
boolean expected,
boolean onShortCircuit,
boolean atEnd) |
protected abstract boolean |
shortCircuit(com.gs.collections.api.block.predicate.Predicate<? super T> predicate,
boolean expected,
boolean onShortCircuit,
boolean atEnd,
int start,
int end) |
protected abstract <P> boolean |
shortCircuitWith(com.gs.collections.api.block.predicate.Predicate2<? super T,? super P> predicate2,
P parameter,
boolean expected,
boolean onShortCircuit,
boolean atEnd) |
com.gs.collections.api.set.MutableSet<T> |
symmetricDifference(com.gs.collections.api.set.SetIterable<? extends T> setB)
Returns the set of all objects that are a member of exactly one of
this and setB (elements which
are in one of the sets, but not in both). |
<R extends java.util.Set<T>> |
symmetricDifferenceInto(com.gs.collections.api.set.SetIterable<? extends T> set,
R targetSet)
Same as
SetIterable.symmetricDifference(SetIterable) but adds all the objects to targetSet and returns it. |
com.gs.collections.api.set.MutableSet<T> |
union(com.gs.collections.api.set.SetIterable<? extends T> set)
Returns the set of all objects that are a member of
this or set or both. |
<R extends java.util.Set<T>> |
unionInto(com.gs.collections.api.set.SetIterable<? extends T> set,
R targetSet)
Same as
SetIterable.union(SetIterable) but adds all the objects to targetSet and returns it. |
<S> com.gs.collections.api.set.MutableSet<com.gs.collections.api.tuple.Pair<T,S>> |
zip(java.lang.Iterable<S> that)
Deprecated.
in 6.0. Use
OrderedIterable.zip(Iterable) instead. |
com.gs.collections.api.set.MutableSet<com.gs.collections.api.tuple.Pair<T,java.lang.Integer>> |
zipWithIndex()
Deprecated.
in 6.0. Use
OrderedIterable.zipWithIndex() instead. |
appendString, appendString, appendString, asLazy, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, count, countWith, detectIfNone, detectWith, detectWithIfNone, flatCollect, forEach, forEachWith, forEachWithIndex, groupBy, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, isEmpty, makeString, makeString, makeString, max, max, maxBy, min, min, minBy, notEmpty, reject, rejectWith, select, selectWith, sumByDouble, sumByFloat, sumByInt, sumByLong, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toList, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedSet, toSortedSet, toSortedSetBy, toString, zip, zipWithIndexequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgroupBy, newEmpty, partition, partitionWith, reject, rejectWith, select, selectInstancesOf, selectWith, tap, toImmutable, with, withAll, without, withoutAlladdAllIterable, retainAllIterable, selectAndRejectWithappendString, appendString, appendString, asLazy, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, count, countWith, detectIfNone, detectWith, detectWithIfNone, each, flatCollect, getFirst, getLast, groupBy, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, isEmpty, makeString, makeString, makeString, max, max, maxBy, min, min, minBy, notEmpty, reject, rejectWith, select, selectWith, size, sumByDouble, sumByFloat, sumByInt, sumByLong, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toList, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedSet, toSortedSet, toSortedSetBy, toString, zip, zipWithIndexforEach, forEachWith, forEachWithIndexadd, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, size, toArray, toArrayclear, get, put, removeFromPool, sizebatchForEach, forEach, sizeprotected static final float DEFAULT_LOAD_FACTOR
protected static final int DEFAULT_INITIAL_CAPACITY
protected float loadFactor
protected int maxSize
protected abstract java.lang.Object[] getTable()
protected abstract void allocateTable(int sizeToAllocate)
protected abstract void rehash(int newCapacity)
protected abstract T detect(com.gs.collections.api.block.predicate.Predicate<? super T> predicate, int start, int end)
public abstract com.gs.collections.api.set.MutableSet<T> clone()
clone in interface com.gs.collections.api.set.MutableSet<T>clone in class java.lang.Objectprotected abstract boolean shortCircuit(com.gs.collections.api.block.predicate.Predicate<? super T> predicate, boolean expected, boolean onShortCircuit, boolean atEnd, int start, int end)
protected abstract <P> boolean shortCircuitWith(com.gs.collections.api.block.predicate.Predicate2<? super T,? super P> predicate2, P parameter, boolean expected, boolean onShortCircuit, boolean atEnd)
protected int init(int initialCapacity)
protected int allocate(int capacity)
protected void computeMaxSize(int capacity)
protected void rehash()
protected boolean shortCircuit(com.gs.collections.api.block.predicate.Predicate<? super T> predicate, boolean expected, boolean onShortCircuit, boolean atEnd)
public int getBatchCount(int batchSize)
getBatchCount in interface BatchIterable<T>public boolean removeIf(com.gs.collections.api.block.predicate.Predicate<? super T> predicate)
com.gs.collections.api.collection.MutableCollection
e.g. return lastNames.removeIf(Predicates.isNull());
removeIf in interface com.gs.collections.api.collection.MutableCollection<T>public <P> boolean removeIfWith(com.gs.collections.api.block.predicate.Predicate2<? super T,? super P> predicate, P parameter)
com.gs.collections.api.collection.MutableCollection
e.g. return lastNames.removeIfWith(PredicatesLite.isNull(), null);
removeIfWith in interface com.gs.collections.api.collection.MutableCollection<T>public <V> UnifiedSet<V> collect(com.gs.collections.api.block.function.Function<? super T,? extends V> function)
com.gs.collections.api.RichIterableExample 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();
}
});
collect in interface com.gs.collections.api.collection.MutableCollection<T>collect in interface com.gs.collections.api.RichIterable<T>collect in interface com.gs.collections.api.set.MutableSet<T>collect in interface com.gs.collections.api.set.UnsortedSetIterable<T>public com.gs.collections.api.set.primitive.MutableBooleanSet collectBoolean(com.gs.collections.api.block.function.primitive.BooleanFunction<? super T> booleanFunction)
com.gs.collections.api.RichIterableboolean iterable 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:
BooleanIterable licenses =
people.collectBoolean(person -> person.hasDrivingLicense());
Example using an anonymous inner class:
BooleanIterable licenses =
people.collectBoolean(new BooleanFunction<Person>()
{
public boolean booleanValueOf(Person person)
{
return person.hasDrivingLicense();
}
});
collectBoolean in interface com.gs.collections.api.collection.MutableCollection<T>collectBoolean in interface com.gs.collections.api.RichIterable<T>collectBoolean in interface com.gs.collections.api.set.MutableSet<T>collectBoolean in interface com.gs.collections.api.set.UnsortedSetIterable<T>public com.gs.collections.api.set.primitive.MutableByteSet collectByte(com.gs.collections.api.block.function.primitive.ByteFunction<? super T> byteFunction)
com.gs.collections.api.RichIterablebyte iterable 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:
ByteIterable bytes =
people.collectByte(person -> person.getCode());
Example using an anonymous inner class:
ByteIterable bytes =
people.collectByte(new ByteFunction<Person>()
{
public byte byteValueOf(Person person)
{
return person.getCode();
}
});
collectByte in interface com.gs.collections.api.collection.MutableCollection<T>collectByte in interface com.gs.collections.api.RichIterable<T>collectByte in interface com.gs.collections.api.set.MutableSet<T>collectByte in interface com.gs.collections.api.set.UnsortedSetIterable<T>public com.gs.collections.api.set.primitive.MutableCharSet collectChar(com.gs.collections.api.block.function.primitive.CharFunction<? super T> charFunction)
com.gs.collections.api.RichIterablechar iterable 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:
CharIterable chars =
people.collectChar(person -> person.getMiddleInitial());
Example using an anonymous inner class:
CharIterable chars =
people.collectChar(new CharFunction<Person>()
{
public char charValueOf(Person person)
{
return person.getMiddleInitial();
}
});
collectChar in interface com.gs.collections.api.collection.MutableCollection<T>collectChar in interface com.gs.collections.api.RichIterable<T>collectChar in interface com.gs.collections.api.set.MutableSet<T>collectChar in interface com.gs.collections.api.set.UnsortedSetIterable<T>public com.gs.collections.api.set.primitive.MutableDoubleSet collectDouble(com.gs.collections.api.block.function.primitive.DoubleFunction<? super T> doubleFunction)
com.gs.collections.api.RichIterabledouble iterable 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:
DoubleIterable doubles =
people.collectDouble(person -> person.getMilesFromNorthPole());
Example using an anonymous inner class:
DoubleIterable doubles =
people.collectDouble(new DoubleFunction<Person>()
{
public double doubleValueOf(Person person)
{
return person.getMilesFromNorthPole();
}
});
collectDouble in interface com.gs.collections.api.collection.MutableCollection<T>collectDouble in interface com.gs.collections.api.RichIterable<T>collectDouble in interface com.gs.collections.api.set.MutableSet<T>collectDouble in interface com.gs.collections.api.set.UnsortedSetIterable<T>public com.gs.collections.api.set.primitive.MutableFloatSet collectFloat(com.gs.collections.api.block.function.primitive.FloatFunction<? super T> floatFunction)
com.gs.collections.api.RichIterablefloat iterable 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:
FloatIterable floats =
people.collectFloat(person -> person.getHeightInInches());
Example using an anonymous inner class:
FloatIterable floats =
people.collectFloat(new FloatFunction<Person>()
{
public float floatValueOf(Person person)
{
return person.getHeightInInches();
}
});
collectFloat in interface com.gs.collections.api.collection.MutableCollection<T>collectFloat in interface com.gs.collections.api.RichIterable<T>collectFloat in interface com.gs.collections.api.set.MutableSet<T>collectFloat in interface com.gs.collections.api.set.UnsortedSetIterable<T>public com.gs.collections.api.set.primitive.MutableIntSet collectInt(com.gs.collections.api.block.function.primitive.IntFunction<? super T> intFunction)
com.gs.collections.api.RichIterableint iterable 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:
IntIterable ints =
people.collectInt(person -> person.getAge());
Example using an anonymous inner class:
IntIterable ints =
people.collectInt(new IntFunction<Person>()
{
public int intValueOf(Person person)
{
return person.getAge();
}
});
collectInt in interface com.gs.collections.api.collection.MutableCollection<T>collectInt in interface com.gs.collections.api.RichIterable<T>collectInt in interface com.gs.collections.api.set.MutableSet<T>collectInt in interface com.gs.collections.api.set.UnsortedSetIterable<T>public com.gs.collections.api.set.primitive.MutableLongSet collectLong(com.gs.collections.api.block.function.primitive.LongFunction<? super T> longFunction)
com.gs.collections.api.RichIterablelong iterable 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:
LongIterable longs =
people.collectLong(person -> person.getGuid());
Example using an anonymous inner class:
LongIterable longs =
people.collectLong(new LongFunction<Person>()
{
public long longValueOf(Person person)
{
return person.getGuid();
}
});
collectLong in interface com.gs.collections.api.collection.MutableCollection<T>collectLong in interface com.gs.collections.api.RichIterable<T>collectLong in interface com.gs.collections.api.set.MutableSet<T>collectLong in interface com.gs.collections.api.set.UnsortedSetIterable<T>public com.gs.collections.api.set.primitive.MutableShortSet collectShort(com.gs.collections.api.block.function.primitive.ShortFunction<? super T> shortFunction)
com.gs.collections.api.RichIterableshort iterable 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:
ShortIterable shorts =
people.collectShort(person -> person.getNumberOfJunkMailItemsReceivedPerMonth());
Example using an anonymous inner class:
ShortIterable shorts =
people.collectShort(new ShortFunction<Person>()
{
public short shortValueOf(Person person)
{
return person.getNumberOfJunkMailItemsReceivedPerMonth();
}
});
collectShort in interface com.gs.collections.api.collection.MutableCollection<T>collectShort in interface com.gs.collections.api.RichIterable<T>collectShort in interface com.gs.collections.api.set.MutableSet<T>collectShort in interface com.gs.collections.api.set.UnsortedSetIterable<T>public <V> UnifiedSet<V> flatCollect(com.gs.collections.api.block.function.Function<? super T,? extends java.lang.Iterable<V>> function)
com.gs.collections.api.RichIterableflatCollect is a special case of RichIterable.collect(Function). With collect, when the Function 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 each Person has a list of Address objects. Take the following Function:
Function<Person, List<Address>> addressFunction = Person::getAddresses; MutableList<Person> people = ...;Using
collect returns a collection of collections of addresses.
MutableList<List<Address>> addresses = people.collect(addressFunction);Using
flatCollect returns a single flattened list of addresses.
MutableList<Address> addresses = people.flatCollect(addressFunction);
flatCollect in interface com.gs.collections.api.collection.MutableCollection<T>flatCollect in interface com.gs.collections.api.RichIterable<T>flatCollect in interface com.gs.collections.api.set.MutableSet<T>flatCollect in interface com.gs.collections.api.set.UnsortedSetIterable<T>function - The Function to applyfunctionpublic <P,A> UnifiedSet<A> collectWith(com.gs.collections.api.block.function.Function2<? super T,? super P,? extends A> function, P parameter)
com.gs.collections.api.RichIterableRichIterable.collect(Function) with a Function2 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));
collectWith in interface com.gs.collections.api.collection.MutableCollection<T>collectWith in interface com.gs.collections.api.RichIterable<T>collectWith in interface com.gs.collections.api.set.MutableSet<T>collectWith in interface com.gs.collections.api.set.UnsortedSetIterable<T>function - A Function2 to use as the collect transformation functionparameter - A parameter to pass in for evaluation of the second argument P in functionRichIterable that contains the transformed elements returned by Function2.value(Object, Object)RichIterable.collect(Function)public <V> UnifiedSet<V> collectIf(com.gs.collections.api.block.predicate.Predicate<? super T> predicate, com.gs.collections.api.block.function.Function<? super T,? extends V> function)
com.gs.collections.api.RichIterableExample 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());
collectIf in interface com.gs.collections.api.collection.MutableCollection<T>collectIf in interface com.gs.collections.api.RichIterable<T>collectIf in interface com.gs.collections.api.set.MutableSet<T>collectIf in interface com.gs.collections.api.set.UnsortedSetIterable<T>public T detect(com.gs.collections.api.block.predicate.Predicate<? super T> predicate)
com.gs.collections.api.RichIterableExample 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 value(Person person)
{
return person.getFirstName().equals("John") && person.getLastName().equals("Smith");
}
});
detect in interface com.gs.collections.api.RichIterable<T>detect in class AbstractRichIterable<T>public boolean anySatisfy(com.gs.collections.api.block.predicate.Predicate<? super T> predicate)
com.gs.collections.api.RichIterableanySatisfy in interface com.gs.collections.api.RichIterable<T>anySatisfy in class AbstractRichIterable<T>public <P> boolean anySatisfyWith(com.gs.collections.api.block.predicate.Predicate2<? super T,? super P> predicate, P parameter)
com.gs.collections.api.RichIterableanySatisfyWith in interface com.gs.collections.api.RichIterable<T>anySatisfyWith in class AbstractRichIterable<T>public boolean allSatisfy(com.gs.collections.api.block.predicate.Predicate<? super T> predicate)
com.gs.collections.api.RichIterableallSatisfy in interface com.gs.collections.api.RichIterable<T>allSatisfy in class AbstractRichIterable<T>public <P> boolean allSatisfyWith(com.gs.collections.api.block.predicate.Predicate2<? super T,? super P> predicate, P parameter)
com.gs.collections.api.RichIterableallSatisfyWith in interface com.gs.collections.api.RichIterable<T>allSatisfyWith in class AbstractRichIterable<T>public boolean noneSatisfy(com.gs.collections.api.block.predicate.Predicate<? super T> predicate)
com.gs.collections.api.RichIterablenoneSatisfy in interface com.gs.collections.api.RichIterable<T>noneSatisfy in class AbstractRichIterable<T>public <P> boolean noneSatisfyWith(com.gs.collections.api.block.predicate.Predicate2<? super T,? super P> predicate, P parameter)
com.gs.collections.api.RichIterablenoneSatisfyWith in interface com.gs.collections.api.RichIterable<T>noneSatisfyWith in class AbstractRichIterable<T>public <IV,P> IV injectIntoWith(IV injectValue,
com.gs.collections.api.block.function.Function3<? super IV,? super T,? super P,? extends IV> function,
P parameter)
injectIntoWith in interface com.gs.collections.api.collection.MutableCollection<T>public com.gs.collections.api.set.MutableSet<T> asUnmodifiable()
com.gs.collections.api.set.MutableSetpublic com.gs.collections.api.set.MutableSet<T> asSynchronized()
com.gs.collections.api.collection.MutableCollectionIt is imperative that the user manually synchronize on the returned collection when iterating over it using the standard JDK iterator or JDK 5 for loop.
MutableCollection collection = myCollection.asSynchronized();
...
synchronized(collection)
{
Iterator i = c.iterator(); // Must be in the synchronized block
while (i.hasNext())
foo(i.next());
}
Failure to follow this advice may result in non-deterministic behavior.
The preferred way of iterating over a synchronized collection is to use the collection.forEach() method which is properly synchronized internally.
MutableCollection collection = myCollection.asSynchronized();
...
collection.forEach(new Procedure()
{
public void value(Object each)
{
...
}
});
The returned collection does not pass the hashCode and equals operations through to the backing collection, but relies on Object's equals and hashCode methods. This is necessary to preserve the contracts of these operations in the case that the backing collection is a set or a list.
The returned collection will be serializable if this collection is serializable.
public boolean addAll(java.util.Collection<? extends T> collection)
public boolean removeAll(java.util.Collection<?> collection)
public boolean removeAllIterable(java.lang.Iterable<?> iterable)
removeAllIterable in interface com.gs.collections.api.collection.MutableCollection<T>Collection.removeAll(Collection)public boolean retainAll(java.util.Collection<?> collection)
public <V> UnifiedSetMultimap<V,T> groupByEach(com.gs.collections.api.block.function.Function<? super T,? extends java.lang.Iterable<V>> function)
com.gs.collections.api.RichIterableRichIterable.groupBy(Function), except the result of evaluating function will return a collection of keys
for each value.groupByEach in interface com.gs.collections.api.collection.MutableCollection<T>groupByEach in interface com.gs.collections.api.RichIterable<T>groupByEach in interface com.gs.collections.api.set.MutableSet<T>groupByEach in interface com.gs.collections.api.set.MutableSetIterable<T>groupByEach in interface com.gs.collections.api.set.UnsortedSetIterable<T>public <V> com.gs.collections.api.map.MutableMap<V,T> groupByUniqueKey(com.gs.collections.api.block.function.Function<? super T,? extends V> function)
com.gs.collections.api.RichIterable@Deprecated public <S> com.gs.collections.api.set.MutableSet<com.gs.collections.api.tuple.Pair<T,S>> zip(java.lang.Iterable<S> that)
OrderedIterable.zip(Iterable) instead.com.gs.collections.api.RichIterableRichIterable formed from this RichIterable and another RichIterable by
combining corresponding elements in pairs. If one of the two RichIterables is longer than the other, its
remaining elements are ignored.zip in interface com.gs.collections.api.collection.MutableCollection<T>zip in interface com.gs.collections.api.RichIterable<T>zip in interface com.gs.collections.api.set.MutableSet<T>zip in interface com.gs.collections.api.set.MutableSetIterable<T>zip in interface com.gs.collections.api.set.UnsortedSetIterable<T>S - the type of the second half of the returned pairsthat - The RichIterable providing the second half of each result pairRichIterable containing pairs consisting of corresponding elements of this RichIterable and that. The length of the returned RichIterable is the minimum of the lengths of
this RichIterable and that.@Deprecated public com.gs.collections.api.set.MutableSet<com.gs.collections.api.tuple.Pair<T,java.lang.Integer>> zipWithIndex()
OrderedIterable.zipWithIndex() instead.com.gs.collections.api.RichIterableRichIterable with its indices.zipWithIndex in interface com.gs.collections.api.collection.MutableCollection<T>zipWithIndex in interface com.gs.collections.api.RichIterable<T>zipWithIndex in interface com.gs.collections.api.set.MutableSet<T>zipWithIndex in interface com.gs.collections.api.set.MutableSetIterable<T>zipWithIndex in interface com.gs.collections.api.set.SetIterable<T>zipWithIndex in interface com.gs.collections.api.set.UnsortedSetIterable<T>RichIterable containing pairs consisting of all elements of this RichIterable
paired with their index. Indices start at 0.RichIterable.zip(Iterable)public com.gs.collections.api.RichIterable<com.gs.collections.api.RichIterable<T>> chunk(int size)
com.gs.collections.api.RichIterablechunk in interface com.gs.collections.api.RichIterable<T>size - the number of elements per chunkRichIterable containing RichIterables of size size, except the last will be
truncated if the elements don't divide evenly.public com.gs.collections.api.set.MutableSet<T> union(com.gs.collections.api.set.SetIterable<? extends T> set)
com.gs.collections.api.set.SetIterablethis or set 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 from this.public <R extends java.util.Set<T>> R unionInto(com.gs.collections.api.set.SetIterable<? extends T> set, R targetSet)
com.gs.collections.api.set.SetIterableSetIterable.union(SetIterable) but adds all the objects to targetSet and returns it.unionInto in interface com.gs.collections.api.set.SetIterable<T>public com.gs.collections.api.set.MutableSet<T> intersect(com.gs.collections.api.set.SetIterable<? extends T> set)
com.gs.collections.api.set.SetIterablethis and set. The intersection of
[1, 2, 3] and [2, 3, 4] is the set [2, 3]. The output will contain instances from this, not set.public <R extends java.util.Set<T>> R intersectInto(com.gs.collections.api.set.SetIterable<? extends T> set, R targetSet)
com.gs.collections.api.set.SetIterableSetIterable.intersect(SetIterable) but adds all the objects to targetSet and returns it.intersectInto in interface com.gs.collections.api.set.SetIterable<T>public com.gs.collections.api.set.MutableSet<T> difference(com.gs.collections.api.set.SetIterable<? extends T> subtrahendSet)
com.gs.collections.api.set.SetIterablethis that are not members of subtrahendSet. The difference of
[1, 2, 3] and [2, 3, 4] is [1].public <R extends java.util.Set<T>> R differenceInto(com.gs.collections.api.set.SetIterable<? extends T> subtrahendSet, R targetSet)
com.gs.collections.api.set.SetIterableSetIterable.difference(SetIterable) but adds all the objects to targetSet and returns it.differenceInto in interface com.gs.collections.api.set.SetIterable<T>public com.gs.collections.api.set.MutableSet<T> symmetricDifference(com.gs.collections.api.set.SetIterable<? extends T> setB)
com.gs.collections.api.set.SetIterablethis and setB (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.public <R extends java.util.Set<T>> R symmetricDifferenceInto(com.gs.collections.api.set.SetIterable<? extends T> set, R targetSet)
com.gs.collections.api.set.SetIterableSetIterable.symmetricDifference(SetIterable) but adds all the objects to targetSet and returns it.symmetricDifferenceInto in interface com.gs.collections.api.set.SetIterable<T>public boolean isSubsetOf(com.gs.collections.api.set.SetIterable<? extends T> candidateSuperset)
com.gs.collections.api.set.SetIterablethis are also members of candidateSuperset.
For example, [1, 2] is a subset of [1, 2, 3], but [1, 4] is not.isSubsetOf in interface com.gs.collections.api.set.SetIterable<T>public boolean isProperSubsetOf(com.gs.collections.api.set.SetIterable<? extends T> candidateSuperset)
com.gs.collections.api.set.SetIterablethis are also members of candidateSuperset 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.isProperSubsetOf in interface com.gs.collections.api.set.SetIterable<T>public com.gs.collections.api.set.MutableSet<com.gs.collections.api.set.UnsortedSetIterable<T>> powerSet()
com.gs.collections.api.set.UnsortedSetIterablethis. For example, the powerset of [1, 2] is
[[], [1], [2], [1, 2]].public <B> com.gs.collections.api.LazyIterable<com.gs.collections.api.tuple.Pair<T,B>> cartesianProduct(com.gs.collections.api.set.SetIterable<B> set)
com.gs.collections.api.set.SetIterablethis and b is a
member of set.cartesianProduct in interface com.gs.collections.api.set.SetIterable<T>public <K2,V> com.gs.collections.api.map.MutableMap<K2,V> aggregateInPlaceBy(com.gs.collections.api.block.function.Function<? super T,? extends K2> groupBy, com.gs.collections.api.block.function.Function0<? extends V> zeroValueFactory, com.gs.collections.api.block.procedure.Procedure2<? super V,? super T> mutatingAggregator)
com.gs.collections.api.RichIterablepublic <K2,V> com.gs.collections.api.map.MutableMap<K2,V> aggregateBy(com.gs.collections.api.block.function.Function<? super T,? extends K2> groupBy, com.gs.collections.api.block.function.Function0<? extends V> zeroValueFactory, com.gs.collections.api.block.function.Function2<? super V,? super T,? extends V> nonMutatingAggregator)
com.gs.collections.api.RichIterable