Class AbstractLazyIterable<T>
- All Implemented Interfaces:
Iterable<T>
,InternalIterable<T>
,LazyIterable<T>
,RichIterable<T>
- Direct Known Subclasses:
ChunkBooleanIterable
,ChunkByteIterable
,ChunkCharIterable
,ChunkDoubleIterable
,ChunkFloatIterable
,ChunkIntIterable
,ChunkIterable
,ChunkLongIterable
,ChunkShortIterable
,CollectBooleanToObjectIterable
,CollectByteToObjectIterable
,CollectCharToObjectIterable
,CollectDoubleToObjectIterable
,CollectFloatToObjectIterable
,CollectIntToObjectIterable
,CollectIterable
,CollectLongToObjectIterable
,CollectShortToObjectIterable
,CompositeIterable
,DistinctIterable
,DropIterable
,DropWhileIterable
,FlatCollectBooleanToObjectIterable
,FlatCollectByteToObjectIterable
,FlatCollectCharToObjectIterable
,FlatCollectDoubleToObjectIterable
,FlatCollectFloatToObjectIterable
,FlatCollectIntToObjectIterable
,FlatCollectIterable
,FlatCollectLongToObjectIterable
,FlatCollectShortToObjectIterable
,Interval
,LazyIterableAdapter
,RejectIterable
,ReverseIterable
,SelectInstancesOfIterable
,SelectIterable
,TakeIterable
,TakeWhileIterable
,TapIterable
,ZipIterable
,ZipWithIndexIterable
public abstract class AbstractLazyIterable<T> extends AbstractRichIterable<T> implements LazyIterable<T>
-
Constructor Summary
Constructors Constructor Description AbstractLazyIterable()
-
Method Summary
Modifier and Type Method Description <K, V> MapIterable<K,V>
aggregateInPlaceBy(Function<? super T,? extends K> groupBy, Function0<? extends V> zeroValueFactory, Procedure2<? super V,? super T> mutatingAggregator)
Applies an aggregate procedure over the iterable grouping results into a Map based on the specific groupBy function.LazyIterable<T>
asLazy()
Returns a lazy (deferred) iterable, most likely implemented by calling LazyIterate.adapt(this).LazyIterable<RichIterable<T>>
chunk(int size)
Creates a deferred chunk iterable.<V> LazyIterable<V>
collect(Function<? super T,? extends V> function)
Creates a deferred iterable for collecting elements from the current iterable.LazyBooleanIterable
collectBoolean(BooleanFunction<? super T> booleanFunction)
Returns a lazy BooleanIterable which will transform the underlying iterable data to boolean values based on the booleanFunction.LazyByteIterable
collectByte(ByteFunction<? super T> byteFunction)
Returns a lazy ByteIterable which will transform the underlying iterable data to byte values based on the byteFunction.LazyCharIterable
collectChar(CharFunction<? super T> charFunction)
Returns a lazy CharIterable which will transform the underlying iterable data to char values based on the charFunction.LazyDoubleIterable
collectDouble(DoubleFunction<? super T> doubleFunction)
Returns a lazy DoubleIterable which will transform the underlying iterable data to double values based on the doubleFunction.LazyFloatIterable
collectFloat(FloatFunction<? super T> floatFunction)
Returns a lazy FloatIterable which will transform the underlying iterable data to float values based on the floatFunction.<V> LazyIterable<V>
collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function)
Creates a deferred iterable for selecting and collecting elements from the current iterable.LazyIntIterable
collectInt(IntFunction<? super T> intFunction)
Returns a lazy IntIterable which will transform the underlying iterable data to int values based on the intFunction.LazyLongIterable
collectLong(LongFunction<? super T> longFunction)
Returns a lazy LongIterable which will transform the underlying iterable data to long values based on the longFunction.LazyShortIterable
collectShort(ShortFunction<? super T> shortFunction)
Returns a lazy ShortIterable which will transform the underlying iterable data to short values based on the shortFunction.<P, V> LazyIterable<V>
collectWith(Function2<? super T,? super P,? extends V> function, P parameter)
Same asRichIterable.collect(Function)
with aFunction2
and specified parameter which is passed to the block.LazyIterable<T>
concatenate(Iterable<T> iterable)
Creates a deferred iterable that will join this iterable with the specified iterable.LazyIterable<T>
distinct()
Creates a deferred distinct iterable to get distinct elements from the current iterable.LazyIterable<T>
drop(int count)
Creates a deferred drop iterable for the current iterable using the specified count as the limit.LazyIterable<T>
dropWhile(Predicate<? super T> predicate)
<V> LazyIterable<V>
flatCollect(Function<? super T,? extends Iterable<V>> function)
Creates a deferred flattening iterable for the current iterable.T
getFirst()
Returns the first element of an iterable.T
getLast()
Returns the last element of an iterable.T
getOnly()
Returns the element if the iterable has exactly one element.<V> Multimap<V,T>
groupBy(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 multimap, where the transformed value is the key and the original values are added to the same (or similar) species of collection as the source iterable.<V> Multimap<V,T>
groupByEach(Function<? super T,? extends Iterable<V>> function)
Similar toRichIterable.groupBy(Function)
, except the result of evaluating function will return a collection of keys for each value.<V> MapIterable<V,T>
groupByUniqueKey(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.<R extends Collection<T>>
Rinto(R target)
Adds all the elements in this iterable to the specific target Collection.boolean
isEmpty()
Returns true if this iterable has zero items.<V extends Comparable<? super V>>
Optional<T>maxByOptional(Function<? super T,? extends V> function)
Returns the maximum elements out of this container based on the natural order of the attribute returned by Function as an Optional.Optional<T>
maxOptional()
Returns the maximum element out of this container based on the natural order as an Optional.Optional<T>
maxOptional(Comparator<? super T> comparator)
Returns the maximum element out of this container based on the comparator as an Optional.<V extends Comparable<? super V>>
Optional<T>minByOptional(Function<? super T,? extends V> function)
Returns the minimum elements out of this container based on the natural order of the attribute returned by Function as an Optional.Optional<T>
minOptional()
Returns the minimum element out of this container based on the natural order as an Optional.Optional<T>
minOptional(Comparator<? super T> comparator)
Returns the minimum element out of this container based on the comparator as an Optional.PartitionMutableList<T>
partition(Predicate<? super T> predicate)
Filters a collection into a PartitionedIterable based on the evaluation of the predicate.<P> PartitionMutableList<T>
partitionWith(Predicate2<? super T,? super P> predicate, P parameter)
Filters a collection into a PartitionIterable based on the evaluation of the predicate.LazyIterable<T>
reject(Predicate<? super T> predicate)
Creates a deferred iterable for rejecting elements from the current iterable.<P> LazyIterable<T>
rejectWith(Predicate2<? super T,? super P> predicate, P parameter)
Similar toRichIterable.reject(Predicate)
, except with an evaluation parameter for the second generic argument inPredicate2
.LazyIterable<T>
select(Predicate<? super T> predicate)
Creates a deferred iterable for selecting elements from the current iterable.<S> LazyIterable<S>
selectInstancesOf(Class<S> clazz)
Returns all elements of the source collection that are instances of the Classclazz
.<P> LazyIterable<T>
selectWith(Predicate2<? super T,? super P> predicate, P parameter)
Similar toRichIterable.select(Predicate)
, except with an evaluation parameter for the second generic argument inPredicate2
.int
size()
Returns the number of items in this iterable.<V> ObjectDoubleMap<V>
sumByDouble(Function<? super T,? extends V> groupBy, DoubleFunction<? super T> function)
Groups and sums the values using the two specified functions.<V> ObjectDoubleMap<V>
sumByFloat(Function<? super T,? extends V> groupBy, FloatFunction<? super T> function)
Groups and sums the values using the two specified functions.<V> ObjectLongMap<V>
sumByInt(Function<? super T,? extends V> groupBy, IntFunction<? super T> function)
Groups and sums the values using the two specified functions.<V> ObjectLongMap<V>
sumByLong(Function<? super T,? extends V> groupBy, LongFunction<? super T> function)
Groups and sums the values using the two specified functions.LazyIterable<T>
take(int count)
Creates a deferred take iterable for the current iterable using the specified count as the limit.LazyIterable<T>
takeWhile(Predicate<? super T> predicate)
LazyIterable<T>
tap(Procedure<? super T> procedure)
Creates a deferred tap iterable.<E> E[]
toArray(E[] array)
Converts this iterable to an array using the specified target array, assuming the target array is as long or longer than the iterable.MutableStack<T>
toStack()
<S> LazyIterable<Pair<T,S>>
zip(Iterable<S> that)
Creates a deferred zip iterable.LazyIterable<Pair<T,Integer>>
zipWithIndex()
Creates a deferred zipWithIndex iterable.Methods inherited from class org.eclipse.collections.impl.AbstractRichIterable
allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, count, countByEach, countWith, detect, detectOptional, detectWith, detectWithIfNone, detectWithOptional, flatCollect, forEach, forEachWith, forEachWithIndex, groupBy, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, max, max, maxBy, min, min, minBy, noneSatisfy, noneSatisfyWith, reject, rejectWith, select, selectWith, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, 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, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach, forEachWith, forEachWithIndex
Methods inherited from interface org.eclipse.collections.api.RichIterable
aggregateBy, aggregateBy, allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, containsBy, count, countBy, countBy, countByEach, countByEach, countByWith, countByWith, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, flatCollectWith, forEach, getAny, groupBy, groupByAndCollect, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, makeString, makeString, makeString, max, max, maxBy, min, min, minBy, noneSatisfy, noneSatisfyWith, notEmpty, reduce, reduceInPlace, reduceInPlace, reject, rejectWith, select, selectWith, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toBag, toBiMap, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString, zip, zipWithIndex
-
Constructor Details
-
AbstractLazyIterable
public AbstractLazyIterable()
-
-
Method Details
-
asLazy
Description copied from interface:RichIterable
Returns a lazy (deferred) iterable, most likely implemented by calling LazyIterate.adapt(this).- Specified by:
asLazy
in interfaceRichIterable<T>
- Overrides:
asLazy
in classAbstractRichIterable<T>
-
into
Description copied from interface:RichIterable
Adds all the elements in this iterable to the specific target Collection.- Specified by:
into
in interfaceLazyIterable<T>
- Specified by:
into
in interfaceRichIterable<T>
- Overrides:
into
in classAbstractRichIterable<T>
-
toArray
public <E> E[] toArray(E[] array)Description copied from interface:RichIterable
Converts this iterable to an array using the specified target array, assuming the target array is as long or longer than the iterable.- Specified by:
toArray
in interfaceRichIterable<T>
- Overrides:
toArray
in classAbstractRichIterable<T>
- See Also:
Collection.toArray(Object[])
-
size
public int size()Description copied from interface:RichIterable
Returns the number of items in this iterable.- Specified by:
size
in interfaceRichIterable<T>
-
isEmpty
public boolean isEmpty()Description copied from interface:RichIterable
Returns true if this iterable has zero items.- Specified by:
isEmpty
in interfaceRichIterable<T>
- Overrides:
isEmpty
in classAbstractRichIterable<T>
-
getFirst
Description copied from interface:RichIterable
Returns the first element of an iterable. In the case of a List it is the element at the first index. In the case of any other Collection, it is the first element that would be returned during an iteration. If the iterable is empty, null is returned. If null is a valid element of the container, then a developer would need to check to see if the iterable is empty to validate that a null result was not due to the container being empty.The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use this method, the first element could be any element from the Set.
- Specified by:
getFirst
in interfaceLazyIterable<T>
- Specified by:
getFirst
in interfaceRichIterable<T>
-
getLast
Description copied from interface:RichIterable
Returns the last element of an iterable. In the case of a List it is the element at the last index. In the case of any other Collection, it is the last element that would be returned during an iteration. If the iterable is empty, null is returned. If null is a valid element of the container, then a developer would need to check to see if the iterable is empty to validate that a null result was not due to the container being empty.The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use this method, the last element could be any element from the Set.
- Specified by:
getLast
in interfaceRichIterable<T>
-
getOnly
Description copied from interface:RichIterable
Returns the element if the iterable has exactly one element. Otherwise, throwIllegalStateException
.- Specified by:
getOnly
in interfaceRichIterable<T>
- Returns:
- an element of an iterable.
-
select
Description copied from interface:LazyIterable
Creates a deferred iterable for selecting elements from the current iterable.- Specified by:
select
in interfaceLazyIterable<T>
- Specified by:
select
in interfaceRichIterable<T>
-
selectWith
Description copied from interface:RichIterable
Similar toRichIterable.select(Predicate)
, except with an evaluation parameter for the second generic argument inPredicate2
.E.g. return a
Collection
of Person elements where the person has an age greater than or equal to 18 yearsExample using a Java 8 lambda expression:
RichIterable<Person> selected = people.selectWith((Person person, Integer age) -> person.getAge()>= age, Integer.valueOf(18));
Example using an anonymous inner class:
RichIterable<Person> selected = people.selectWith(new Predicate2<Person, Integer>() { public boolean accept(Person person, Integer age) { return person.getAge()>= age; } }, Integer.valueOf(18));
- Specified by:
selectWith
in interfaceLazyIterable<T>
- Specified by:
selectWith
in interfaceRichIterable<T>
- Parameters:
predicate
- aPredicate2
to use as the select criteriaparameter
- a parameter to pass in for evaluation of the second argumentP
inpredicate
- See Also:
RichIterable.select(Predicate)
-
reject
Description copied from interface:LazyIterable
Creates a deferred iterable for rejecting elements from the current iterable.- Specified by:
reject
in interfaceLazyIterable<T>
- Specified by:
reject
in interfaceRichIterable<T>
- Parameters:
predicate
- aPredicate
to use as the reject criteria- Returns:
- a RichIterable that contains elements that cause
Predicate.accept(Object)
method to evaluate to false
-
rejectWith
Description copied from interface:RichIterable
Similar toRichIterable.reject(Predicate)
, except with an evaluation parameter for the second generic argument inPredicate2
.E.g. return a
Collection
of Person elements where the person has an age greater than or equal to 18 yearsExample using a Java 8 lambda expression:
RichIterable<Person> rejected = people.rejectWith((Person person, Integer age) -> person.getAge() < age, Integer.valueOf(18));
Example using an anonymous inner class:
MutableList<Person> rejected = people.rejectWith(new Predicate2<Person, Integer>() { public boolean accept(Person person, Integer age) { return person.getAge() < age; } }, Integer.valueOf(18));
- Specified by:
rejectWith
in interfaceLazyIterable<T>
- Specified by:
rejectWith
in interfaceRichIterable<T>
- Parameters:
predicate
- aPredicate2
to use as the select criteriaparameter
- a parameter to pass in for evaluation of the second argumentP
inpredicate
- See Also:
RichIterable.select(Predicate)
-
partition
Description copied from interface:RichIterable
Filters a collection into a PartitionedIterable based on the evaluation of the predicate.Example using a Java 8 lambda expression:
PartitionIterable<Person> newYorkersAndNonNewYorkers = people.partition(person -> person.getAddress().getState().getName().equals("New York"));
Example using an anonymous inner class:
PartitionIterable<Person> newYorkersAndNonNewYorkers = people.partition(new Predicate<Person>() { public boolean accept(Person person) { return person.getAddress().getState().getName().equals("New York"); } });
- Specified by:
partition
in interfaceRichIterable<T>
-
partitionWith
public <P> PartitionMutableList<T> partitionWith(Predicate2<? super T,? super P> predicate, P parameter)Description copied from interface:RichIterable
Filters a collection into a PartitionIterable based on the evaluation of the predicate.Example using a Java 8 lambda expression:
PartitionIterable<Person> newYorkersAndNonNewYorkers = people.partitionWith((Person person, String state) -> person.getAddress().getState().getName().equals(state), "New York");
Example using an anonymous inner class:
PartitionIterable<Person> newYorkersAndNonNewYorkers = people.partitionWith(new Predicate2<Person, String>() { public boolean accept(Person person, String state) { return person.getAddress().getState().getName().equals(state); } }, "New York");
- Specified by:
partitionWith
in interfaceRichIterable<T>
-
selectInstancesOf
Description copied from interface:RichIterable
Returns all elements of the source collection that are instances of the Classclazz
.RichIterable<Integer> integers = List.mutable.with(new Integer(0), new Long(0L), new Double(0.0)).selectInstancesOf(Integer.class);
- Specified by:
selectInstancesOf
in interfaceLazyIterable<T>
- Specified by:
selectInstancesOf
in interfaceRichIterable<T>
-
collect
Description copied from interface:LazyIterable
Creates a deferred iterable for collecting elements from the current iterable.- Specified by:
collect
in interfaceLazyIterable<T>
- Specified by:
collect
in interfaceRichIterable<T>
-
collectBoolean
Description copied from interface:LazyIterable
Returns a lazy BooleanIterable which will transform the underlying iterable data to boolean values based on the booleanFunction.- Specified by:
collectBoolean
in interfaceLazyIterable<T>
- Specified by:
collectBoolean
in interfaceRichIterable<T>
-
collectByte
Description copied from interface:LazyIterable
Returns a lazy ByteIterable which will transform the underlying iterable data to byte values based on the byteFunction.- Specified by:
collectByte
in interfaceLazyIterable<T>
- Specified by:
collectByte
in interfaceRichIterable<T>
-
collectChar
Description copied from interface:LazyIterable
Returns a lazy CharIterable which will transform the underlying iterable data to char values based on the charFunction.- Specified by:
collectChar
in interfaceLazyIterable<T>
- Specified by:
collectChar
in interfaceRichIterable<T>
-
collectDouble
Description copied from interface:LazyIterable
Returns a lazy DoubleIterable which will transform the underlying iterable data to double values based on the doubleFunction.- Specified by:
collectDouble
in interfaceLazyIterable<T>
- Specified by:
collectDouble
in interfaceRichIterable<T>
-
collectFloat
Description copied from interface:LazyIterable
Returns a lazy FloatIterable which will transform the underlying iterable data to float values based on the floatFunction.- Specified by:
collectFloat
in interfaceLazyIterable<T>
- Specified by:
collectFloat
in interfaceRichIterable<T>
-
collectInt
Description copied from interface:LazyIterable
Returns a lazy IntIterable which will transform the underlying iterable data to int values based on the intFunction.- Specified by:
collectInt
in interfaceLazyIterable<T>
- Specified by:
collectInt
in interfaceRichIterable<T>
-
collectLong
Description copied from interface:LazyIterable
Returns a lazy LongIterable which will transform the underlying iterable data to long values based on the longFunction.- Specified by:
collectLong
in interfaceLazyIterable<T>
- Specified by:
collectLong
in interfaceRichIterable<T>
-
collectShort
Description copied from interface:LazyIterable
Returns a lazy ShortIterable which will transform the underlying iterable data to short values based on the shortFunction.- Specified by:
collectShort
in interfaceLazyIterable<T>
- Specified by:
collectShort
in interfaceRichIterable<T>
-
collectWith
public <P, V> LazyIterable<V> collectWith(Function2<? super T,? super P,? extends V> 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 interfaceLazyIterable<T>
- Specified by:
collectWith
in interfaceRichIterable<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)
-
flatCollect
Description copied from interface:LazyIterable
Creates a deferred flattening iterable for the current iterable.- Specified by:
flatCollect
in interfaceLazyIterable<T>
- Specified by:
flatCollect
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to apply- Returns:
- a new flattened collection produced by applying the given
function
-
concatenate
Description copied from interface:LazyIterable
Creates a deferred iterable that will join this iterable with the specified iterable.- Specified by:
concatenate
in interfaceLazyIterable<T>
-
collectIf
public <V> LazyIterable<V> collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function)Description copied from interface:LazyIterable
Creates a deferred iterable for selecting and collecting elements from the current iterable.- Specified by:
collectIf
in interfaceLazyIterable<T>
- Specified by:
collectIf
in interfaceRichIterable<T>
-
take
Description copied from interface:LazyIterable
Creates a deferred take iterable for the current iterable using the specified count as the limit.- Specified by:
take
in interfaceLazyIterable<T>
-
drop
Description copied from interface:LazyIterable
Creates a deferred drop iterable for the current iterable using the specified count as the limit.- Specified by:
drop
in interfaceLazyIterable<T>
-
takeWhile
- Specified by:
takeWhile
in interfaceLazyIterable<T>
- See Also:
OrderedIterable.takeWhile(Predicate)
-
dropWhile
- Specified by:
dropWhile
in interfaceLazyIterable<T>
- See Also:
OrderedIterable.dropWhile(Predicate)
-
distinct
Description copied from interface:LazyIterable
Creates a deferred distinct iterable to get distinct elements from the current iterable.- Specified by:
distinct
in interfaceLazyIterable<T>
-
toStack
-
groupBy
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 multimap, where the transformed value is the key and the original values are added to the same (or similar) species of collection as the source iterable.Example using a Java 8 method reference:
Multimap<String, Person> peopleByLastName = people.groupBy(Person::getLastName);
Example using an anonymous inner class:
Multimap<String, Person> peopleByLastName = people.groupBy(new Function<Person, String>() { public String valueOf(Person person) { return person.getLastName(); } });
- Specified by:
groupBy
in interfaceRichIterable<T>
-
groupByEach
Description copied from interface:RichIterable
Similar toRichIterable.groupBy(Function)
, except the result of evaluating function will return a collection of keys for each value.- Specified by:
groupByEach
in interfaceRichIterable<T>
-
groupByUniqueKey
Description copied from interface:RichIterable
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. The generated keys must each be unique, or else an exception is thrown.- Specified by:
groupByUniqueKey
in interfaceRichIterable<T>
- See Also:
RichIterable.groupBy(Function)
-
zip
Description copied from interface:LazyIterable
Creates a deferred zip iterable.- Specified by:
zip
in interfaceLazyIterable<T>
- Specified by:
zip
in interfaceRichIterable<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
Description copied from interface:LazyIterable
Creates a deferred zipWithIndex iterable.- Specified by:
zipWithIndex
in interfaceLazyIterable<T>
- Specified by:
zipWithIndex
in interfaceRichIterable<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
Description copied from interface:LazyIterable
Creates a deferred chunk iterable.- Specified by:
chunk
in interfaceLazyIterable<T>
- Specified by:
chunk
in interfaceRichIterable<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.
-
tap
Description copied from interface:LazyIterable
Creates a deferred tap iterable.- Specified by:
tap
in interfaceLazyIterable<T>
- Specified by:
tap
in interfaceRichIterable<T>
- See Also:
RichIterable.each(Procedure)
,RichIterable.forEach(Procedure)
-
aggregateInPlaceBy
public <K, V> MapIterable<K,V> aggregateInPlaceBy(Function<? super T,? extends K> groupBy, Function0<? extends V> zeroValueFactory, Procedure2<? super V,? super T> mutatingAggregator)Description copied from interface:RichIterable
Applies an aggregate procedure over the iterable grouping results into a Map based on the specific groupBy function. Aggregate results are required to be mutable as they will be changed in place by the procedure. A second function specifies the initial "zero" aggregate value to work with (i.e. new AtomicInteger(0)).- Specified by:
aggregateInPlaceBy
in interfaceRichIterable<T>
-
sumByInt
public <V> ObjectLongMap<V> sumByInt(Function<? super T,? extends V> groupBy, IntFunction<? super T> function)Description copied from interface:RichIterable
Groups and sums the values using the two specified functions.- Specified by:
sumByInt
in interfaceRichIterable<T>
-
sumByFloat
public <V> ObjectDoubleMap<V> sumByFloat(Function<? super T,? extends V> groupBy, FloatFunction<? super T> function)Description copied from interface:RichIterable
Groups and sums the values using the two specified functions.- Specified by:
sumByFloat
in interfaceRichIterable<T>
-
sumByLong
public <V> ObjectLongMap<V> sumByLong(Function<? super T,? extends V> groupBy, LongFunction<? super T> function)Description copied from interface:RichIterable
Groups and sums the values using the two specified functions.- Specified by:
sumByLong
in interfaceRichIterable<T>
-
sumByDouble
public <V> ObjectDoubleMap<V> sumByDouble(Function<? super T,? extends V> groupBy, DoubleFunction<? super T> function)Description copied from interface:RichIterable
Groups and sums the values using the two specified functions.- Specified by:
sumByDouble
in interfaceRichIterable<T>
-
minOptional
Description copied from interface:RichIterable
Returns the minimum element out of this container based on the comparator as an Optional. If the container is emptyOptional.empty()
is returned.- Specified by:
minOptional
in interfaceRichIterable<T>
-
maxOptional
Description copied from interface:RichIterable
Returns the maximum element out of this container based on the comparator as an Optional. If the container is emptyOptional.empty()
is returned.- Specified by:
maxOptional
in interfaceRichIterable<T>
-
minOptional
Description copied from interface:RichIterable
Returns the minimum element out of this container based on the natural order as an Optional. If the container is emptyOptional.empty()
is returned.- Specified by:
minOptional
in interfaceRichIterable<T>
-
maxOptional
Description copied from interface:RichIterable
Returns the maximum element out of this container based on the natural order as an Optional. If the container is emptyOptional.empty()
is returned.- Specified by:
maxOptional
in interfaceRichIterable<T>
-
minByOptional
public <V extends Comparable<? super V>> Optional<T> minByOptional(Function<? super T,? extends V> function)Description copied from interface:RichIterable
Returns the minimum elements out of this container based on the natural order of the attribute returned by Function as an Optional. If the container is emptyOptional.empty()
is returned.- Specified by:
minByOptional
in interfaceRichIterable<T>
-
maxByOptional
public <V extends Comparable<? super V>> Optional<T> maxByOptional(Function<? super T,? extends V> function)Description copied from interface:RichIterable
Returns the maximum elements out of this container based on the natural order of the attribute returned by Function as an Optional. If the container is emptyOptional.empty()
is returned.- Specified by:
maxByOptional
in interfaceRichIterable<T>
-