java.lang.Cloneable
, java.lang.Iterable<T>
, java.util.Collection<T>
, java.util.List<T>
, java.util.RandomAccess
, MutableCollection<T>
, InternalIterable<T>
, ListIterable<T>
, MutableList<T>
, OrderedIterable<T>
, ReversibleIterable<T>
, RichIterable<T>
ArrayAdapter
public abstract class AbstractArrayAdapter<T> extends AbstractMutableList<T> implements java.util.RandomAccess
Modifier and Type | Method | Description |
---|---|---|
boolean |
abstractArrayAdapterEquals(AbstractArrayAdapter<?> list) |
|
void |
add(int index,
T element) |
|
boolean |
addAll(int index,
java.util.Collection<? extends T> collection) |
|
boolean |
addAll(java.util.Collection<? extends T> collection) |
|
boolean |
addAllIterable(java.lang.Iterable<? extends T> iterable) |
|
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.
|
void |
appendString(java.lang.Appendable appendable,
java.lang.String start,
java.lang.String separator,
java.lang.String end) |
Prints a string representation of this collection onto the given
Appendable . |
void |
clear() |
|
<V> MutableList<V> |
collect(Function<? super T,? extends V> function) |
Returns a new MutableCollection with the results of applying the specified function to each element of the source
collection.
|
<V,R extends java.util.Collection<V>> |
collect(Function<? super T,? extends V> function,
R target) |
Same as
RichIterable.collect(Function) , except that the results are gathered into the specified target
collection. |
<V> MutableList<V> |
collectIf(Predicate<? super T> predicate,
Function<? super T,? extends V> function) |
Returns a new MutableCollection with the results of applying the specified function to each element of the source
collection, but only for elements that evaluate to true for the specified predicate.
|
<V,R extends java.util.Collection<V>> |
collectIf(Predicate<? super T> predicate,
Function<? super T,? extends V> function,
R target) |
Same as the collectIf method with two parameters but uses the specified target collection for the results.
|
<P,A> MutableList<A> |
collectWith(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. |
<P,A,R extends java.util.Collection<A>> |
collectWith(Function2<? super T,? super P,? extends A> function,
P parameter,
R target) |
Same as collectWith but with a targetCollection parameter to gather the results.
|
boolean |
contains(java.lang.Object o) |
Returns true if the iterable has an element which responds true to element.equals(object).
|
boolean |
containsAll(java.util.Collection<?> collection) |
Returns true if all elements in source are contained in this collection.
|
<S> boolean |
corresponds(OrderedIterable<S> other,
Predicate2<? super T,? super S> predicate) |
Returns true if both OrderedIterables have the same length
and
predicate returns true for all corresponding elements e1 of
this OrderedIterable and e2 of other . |
int |
count(Predicate<? super T> predicate) |
Return the total number of elements that answer true to the specified predicate.
|
<P> int |
countWith(Predicate2<? super T,? super P> predicate,
P parameter) |
Returns the total number of elements that evaluate to true for the specified predicate.
|
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.
|
int |
detectIndex(Predicate<? super T> predicate) |
Returns the index of the first element of the
OrderedIterable for which the predicate evaluates to true. |
int |
detectLastIndex(Predicate<? super T> predicate) |
Returns the index of the last element of the
ReversibleIterable for which the predicate evaluates to true. |
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.
|
<P> T |
detectWith(Predicate2<? super T,? super P> predicate,
P parameter) |
Returns the first element that evaluates to true for the specified predicate2 and parameter, or null if none
evaluate to true.
|
<P> java.util.Optional<T> |
detectWithOptional(Predicate2<? super T,? super P> predicate,
P parameter) |
Returns the first element that evaluates to true for the specified predicate2 and parameter as an Optional.
|
MutableList<T> |
distinct() |
Returns a new
ListIterable containing the distinct elements in this list. |
MutableList<T> |
distinct(HashingStrategy<? super T> hashingStrategy) |
Returns a new
ListIterable containing the distinct elements in this list. |
MutableList<T> |
drop(int count) |
Returns an iterable after skipping the first
count elements
or an empty iterable if the count is greater than the length of the iterable. |
void |
each(Procedure<? super T> procedure) |
The procedure is executed for each element in the iterable.
|
boolean |
equals(java.lang.Object that) |
Follows the same general contract as
List.equals(Object) . |
<V> MutableList<V> |
flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function) |
flatCollect is a special case of RichIterable.collect(Function) . |
<V,R extends java.util.Collection<V>> |
flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function,
R target) |
Same as flatCollect, only the results are collected into the target collection.
|
void |
forEach(int fromIndex,
int toIndex,
Procedure<? super T> procedure) |
Iterates over the section of the iterable covered by the specified inclusive indexes.
|
<P> void |
forEachWith(Procedure2<? super T,? super P> procedure,
P parameter) |
The procedure2 is evaluated for each element in the iterable with the specified parameter provided
as the second argument.
|
void |
forEachWithIndex(int fromIndex,
int toIndex,
ObjectIntProcedure<? super T> objectIntProcedure) |
Iterates over the section of the iterable covered by the specified inclusive indexes.
|
void |
forEachWithIndex(ObjectIntProcedure<? super T> objectIntProcedure) |
Iterates over the iterable passing each element and the current relative int index to the specified instance of
ObjectIntProcedure.
|
T |
get(int index) |
Returns the item at the specified position in this list iterable.
|
T |
getFirst() |
Returns the first element of an iterable.
|
T |
getLast() |
Returns the last element of an iterable.
|
int |
hashCode() |
Follows the same general contract as
List.hashCode() . |
int |
indexOf(java.lang.Object item) |
Returns the index of the first occurrence of the specified item
in this iterable, or -1 if this iterable does not contain the item.
|
<IV> IV |
injectInto(IV injectedValue,
Function2<? super IV,? super T,? extends IV> function) |
Returns the final result of evaluating function using each element of the iterable and the previous evaluation
result as the parameters.
|
<IV,P> IV |
injectIntoWith(IV injectValue,
Function3<? super IV,? super T,? super P,? extends IV> function,
P parameter) |
|
boolean |
isEmpty() |
Returns true if this iterable has zero items.
|
java.util.Iterator<T> |
iterator() |
|
int |
lastIndexOf(java.lang.Object item) |
Returns the index of the last occurrence of the specified item
in this list, or -1 if this list does not contain the item.
|
java.util.ListIterator<T> |
listIterator(int index) |
|
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.
|
boolean |
notEmpty() |
The English equivalent of !this.isEmpty()
|
MutableList<T> |
reject(Predicate<? super T> predicate) |
Returns a MutableCollection with all elements that evaluate to false for the specified predicate.
|
<R extends java.util.Collection<T>> |
reject(Predicate<? super T> predicate,
R target) |
Same as the reject method with one parameter but uses the specified target collection for the results.
|
<P> MutableList<T> |
rejectWith(Predicate2<? super T,? super P> predicate,
P parameter) |
Returns a MutableCollection with all elements that evaluate to false for the specified predicate2 and parameter.
|
<P,R extends java.util.Collection<T>> |
rejectWith(Predicate2<? super T,? super P> predicate,
P parameter,
R target) |
Similar to
RichIterable.reject(Predicate, Collection) , except with an evaluation parameter for the second generic argument in Predicate2 . |
T |
remove(int index) |
|
boolean |
remove(java.lang.Object o) |
|
boolean |
removeAll(java.util.Collection<?> collection) |
|
boolean |
removeAllIterable(java.lang.Iterable<?> iterable) |
|
boolean |
removeIf(Predicate<? super T> predicate) |
Removes all elements in the collection that evaluate to true for the specified predicate.
|
<P> boolean |
removeIfWith(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) |
|
boolean |
retainAllIterable(java.lang.Iterable<?> iterable) |
|
MutableList<T> |
select(Predicate<? super T> predicate) |
Returns a MutableCollection with all elements that evaluate to true for the specified predicate.
|
<R extends java.util.Collection<T>> |
select(Predicate<? super T> predicate,
R target) |
Same as the select method with one parameter but uses the specified target collection for the results.
|
<P> Twin<MutableList<T>> |
selectAndRejectWith(Predicate2<? super T,? super P> predicate,
P parameter) |
Filters a collection into two separate collections based on a predicate returned via a Pair.
|
<P> MutableList<T> |
selectWith(Predicate2<? super T,? super P> predicate,
P parameter) |
Returns a MutableCollection with all elements that evaluate to true for the specified predicate2 and parameter.
|
<P,R extends java.util.Collection<T>> |
selectWith(Predicate2<? super T,? super P> predicate,
P parameter,
R target) |
Similar to
RichIterable.select(Predicate, Collection) , except with an evaluation parameter for the second generic argument in Predicate2 . |
int |
size() |
Returns the number of items in this iterable.
|
MutableList<T> |
subList(int fromIndex,
int toIndex) |
|
MutableList<T> |
take(int count) |
Returns the first
count elements of the iterable
or all the elements in the iterable if count is greater than the length of
the iterable. |
java.lang.Object[] |
toArray() |
Converts this iterable to an array.
|
<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.
|
add, aggregateBy, aggregateInPlaceBy, countBy, countByWith, reduce, sumByDouble, sumByFloat, sumByInt, sumByLong
appendString, asParallel, asReversed, asSynchronized, asUnmodifiable, binarySearch, chunk, clone, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, distinctBy, dropWhile, groupBy, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, listIterator, max, max, maxBy, min, min, minBy, newEmpty, partition, partitionWhile, partitionWith, reverseForEach, reverseForEachWithIndex, reverseThis, selectInstancesOf, shuffleThis, shuffleThis, sortThis, sortThis, sortThisBy, sortThisByBoolean, sortThisByByte, sortThisByChar, sortThisByDouble, sortThisByFloat, sortThisByInt, sortThisByLong, sortThisByShort, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, takeWhile, tap, toImmutable, toList, toReversed, toSet, toSortedList, toSortedList, toStack, with, withAll, without, withoutAll, zip, zip, zipWithIndex, zipWithIndex
asLazy, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, containsAllArguments, containsAllIterable, detectWithIfNone, forEach, groupBy, groupByEach, groupByUniqueKey, injectInto, into, toBag, toMap, toSortedBag, toSortedBag, toSortedBagBy, toSortedListBy, toSortedMap, toSortedMap, toSortedSet, toSortedSet, toSortedSetBy, toString
forEach
add, of, of, of, of, of, of, of, of, of, of, of, of, replaceAll, set, sort, spliterator
binarySearch
aggregateBy, aggregateInPlaceBy, countBy, countByWith, sumByDouble, sumByFloat, sumByInt, sumByLong
getFirstOptional, getLastOptional
appendString, asLazy, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, containsAllArguments, containsAllIterable, countBy, countByWith, detectIfNone, detectWithIfNone, getOnly, groupBy, groupByEach, groupByUniqueKey, injectInto, into, makeString, makeString, makeString, maxByOptional, maxOptional, maxOptional, minByOptional, minOptional, minOptional, reduce, reduceInPlace, reduceInPlace, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong, toBag, toMap, toSortedBag, toSortedBag, toSortedBagBy, toSortedListBy, toSortedMap, toSortedMap, toSortedSet, toSortedSet, toSortedSetBy, toString
public boolean notEmpty()
RichIterable
notEmpty
in interface RichIterable<T>
public T getFirst()
RichIterable
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.
getFirst
in interface ListIterable<T>
getFirst
in interface OrderedIterable<T>
getFirst
in interface RichIterable<T>
getFirst
in class AbstractMutableList<T>
public T getLast()
RichIterable
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.
getLast
in interface ListIterable<T>
getLast
in interface OrderedIterable<T>
getLast
in interface RichIterable<T>
getLast
in class AbstractMutableList<T>
public void each(Procedure<? super T> procedure)
RichIterable
Example using a Java 8 lambda expression:
people.each(person -> LOGGER.info(person.getName()));
Example using an anonymous inner class:
people.each(new Procedure<Person>() { public void value(Person person) { LOGGER.info(person.getName()); } });This method is a variant of
InternalIterable.forEach(Procedure)
that has a signature conflict with Iterable.forEach(java.util.function.Consumer)
.each
in interface RichIterable<T>
each
in class AbstractMutableList<T>
InternalIterable.forEach(Procedure)
,
Iterable.forEach(java.util.function.Consumer)
public void forEachWithIndex(ObjectIntProcedure<? super T> objectIntProcedure)
InternalIterable
Example using a Java 8 lambda:
people.forEachWithIndex((Person person, int index) -> LOGGER.info("Index: " + index + " person: " + person.getName()));
Example using an anonymous inner class:
people.forEachWithIndex(new ObjectIntProcedure<Person>() { public void value(Person person, int index) { LOGGER.info("Index: " + index + " person: " + person.getName()); } });
forEachWithIndex
in interface InternalIterable<T>
forEachWithIndex
in interface OrderedIterable<T>
forEachWithIndex
in class AbstractMutableList<T>
public void forEachWithIndex(int fromIndex, int toIndex, ObjectIntProcedure<? super T> objectIntProcedure)
OrderedIterable
e.g. OrderedIterable<People> people = FastList.newListWith(ted, mary, bob, sally) people.forEachWithIndex(0, 1, new ObjectIntProcedure<Person>() { public void value(Person person, int index) { LOGGER.info(person.getName()); } });
This code would output ted and mary's names.
forEachWithIndex
in interface OrderedIterable<T>
forEachWithIndex
in class AbstractMutableList<T>
public boolean removeIf(Predicate<? super T> predicate)
MutableCollection
e.g. return lastNames.removeIf(Predicates.isNull());
removeIf
in interface MutableCollection<T>
removeIf
in class AbstractMutableList<T>
public <P> boolean removeIfWith(Predicate2<? super T,? super P> predicate, P parameter)
MutableCollection
return lastNames.removeIfWith(Predicates2.isNull(), null);
removeIfWith
in interface MutableCollection<T>
removeIfWith
in class AbstractMutableList<T>
public T detect(Predicate<? super T> predicate)
RichIterable
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"); } });
detect
in interface RichIterable<T>
detect
in class AbstractMutableList<T>
public <P> T detectWith(Predicate2<? super T,? super P> predicate, P parameter)
RichIterable
Example using a Java 8 lambda expression:
Person person = people.detectWith((person, fullName) -> person.getFullName().equals(fullName), "John Smith");
Example using an anonymous inner class:
Person person = people.detectWith(new Predicate2<Person, String>() { public boolean accept(Person person, String fullName) { return person.getFullName().equals(fullName); } }, "John Smith");
detectWith
in interface RichIterable<T>
detectWith
in class AbstractMutableList<T>
public java.util.Optional<T> detectOptional(Predicate<? super T> predicate)
RichIterable
Example using a Java 8 lambda expression:
Person person = people.detectOptional(person -> person.getFirstName().equals("John") && person.getLastName().equals("Smith"));
detectOptional
in interface RichIterable<T>
detectOptional
in class AbstractMutableList<T>
public <P> java.util.Optional<T> detectWithOptional(Predicate2<? super T,? super P> predicate, P parameter)
RichIterable
Example using a Java 8 lambda expression:
Optional<Person> person = people.detectWithOptional((person, fullName) -> person.getFullName().equals(fullName), "John Smith");
detectWithOptional
in interface RichIterable<T>
detectWithOptional
in class AbstractMutableList<T>
public int detectIndex(Predicate<? super T> predicate)
OrderedIterable
OrderedIterable
for which the predicate
evaluates to true.
Returns -1 if no element evaluates true for the predicate
.detectIndex
in interface OrderedIterable<T>
detectIndex
in class AbstractMutableList<T>
public int detectLastIndex(Predicate<? super T> predicate)
ReversibleIterable
ReversibleIterable
for which the predicate
evaluates to true.
Returns -1 if no element evaluates true for the predicate
.detectLastIndex
in interface ReversibleIterable<T>
detectLastIndex
in class AbstractMutableList<T>
public int count(Predicate<? super T> predicate)
RichIterable
Example using a Java 8 lambda expression:
int count = people.count(person -> person.getAddress().getState().getName().equals("New York"));
Example using an anonymous inner class:
int count = people.count(new Predicate<Person>() { public boolean accept(Person person) { return person.getAddress().getState().getName().equals("New York"); } });
count
in interface RichIterable<T>
count
in class AbstractMutableList<T>
public <S> boolean corresponds(OrderedIterable<S> other, Predicate2<? super T,? super S> predicate)
OrderedIterable
predicate
returns true for all corresponding elements e1 of
this OrderedIterable
and e2 of other
.
The predicate
is evaluated for each element at the same position of each OrderedIterable
in a forward iteration order.
This is a short circuit pattern.corresponds
in interface OrderedIterable<T>
corresponds
in class AbstractMutableList<T>
public boolean anySatisfy(Predicate<? super T> predicate)
RichIterable
anySatisfy
in interface RichIterable<T>
anySatisfy
in class AbstractMutableList<T>
public boolean allSatisfy(Predicate<? super T> predicate)
RichIterable
allSatisfy
in interface RichIterable<T>
allSatisfy
in class AbstractMutableList<T>
public boolean noneSatisfy(Predicate<? super T> predicate)
RichIterable
noneSatisfy
in interface RichIterable<T>
noneSatisfy
in class AbstractMutableList<T>
public <IV> IV injectInto(IV injectedValue, Function2<? super IV,? super T,? extends IV> function)
RichIterable
injectInto
in interface RichIterable<T>
injectInto
in class AbstractMutableList<T>
public MutableList<T> select(Predicate<? super T> predicate)
MutableCollection
MutableCollection<Integer> livesInLondon = people.select(person -> person.getAddress().getCity().equals("London"));
select
in interface ListIterable<T>
select
in interface MutableCollection<T>
select
in interface MutableList<T>
select
in interface OrderedIterable<T>
select
in interface ReversibleIterable<T>
select
in interface RichIterable<T>
select
in class AbstractMutableList<T>
public <R extends java.util.Collection<T>> R select(Predicate<? super T> predicate, R target)
RichIterable
Example using a Java 8 lambda expression:
MutableList<Person> selected = people.select(person -> person.person.getLastName().equals("Smith"), Lists.mutable.empty());
Example using an anonymous inner class:
MutableList<Person> selected = people.select(new Predicate<Person>() { public boolean accept(Person person) { return person.person.getLastName().equals("Smith"); } }, Lists.mutable.empty());
select
in interface RichIterable<T>
select
in class AbstractMutableList<T>
predicate
- a Predicate
to use as the select criteriatarget
- the Collection to append to for all elements in this RichIterable
that meet select criteria predicate
target
, which contains appended elements as a result of the select criteriaRichIterable.select(Predicate)
public MutableList<T> reject(Predicate<? super T> predicate)
MutableCollection
MutableCollection<Person> notSmiths = people.reject(person -> person.person.getLastName().equals("Smith"));Using the
Predicates
factory:
MutableCollection<Person> notSmiths = people.reject(Predicates.attributeEqual("lastName", "Smith"));
reject
in interface ListIterable<T>
reject
in interface MutableCollection<T>
reject
in interface MutableList<T>
reject
in interface OrderedIterable<T>
reject
in interface ReversibleIterable<T>
reject
in interface RichIterable<T>
reject
in class AbstractMutableList<T>
predicate
- a Predicate
to use as the reject criteriaPredicate.accept(Object)
method to evaluate to falsepublic <R extends java.util.Collection<T>> R reject(Predicate<? super T> predicate, R target)
RichIterable
Example using a Java 8 lambda expression:
MutableList<Person> rejected = people.reject(person -> person.person.getLastName().equals("Smith"), Lists.mutable.empty());
Example using an anonymous inner class:
MutableList<Person> rejected = people.reject(new Predicate<Person>() { public boolean accept(Person person) { return person.person.getLastName().equals("Smith"); } }, Lists.mutable.empty());
reject
in interface RichIterable<T>
reject
in class AbstractMutableList<T>
predicate
- a Predicate
to use as the reject criteriatarget
- the Collection to append to for all elements in this RichIterable
that cause Predicate#accept(Object)
method to evaluate to falsetarget
, which contains appended elements as a result of the reject criteriapublic <V> MutableList<V> collect(Function<? super T,? extends V> function)
MutableCollection
MutableCollection<String> names = people.collect(person -> person.getFirstName() + " " + person.getLastName());
collect
in interface ListIterable<T>
collect
in interface MutableCollection<T>
collect
in interface MutableList<T>
collect
in interface OrderedIterable<T>
collect
in interface ReversibleIterable<T>
collect
in interface RichIterable<T>
collect
in class AbstractMutableList<T>
public <V,R extends java.util.Collection<V>> R collect(Function<? super T,? extends V> function, R target)
RichIterable
RichIterable.collect(Function)
, except that the results are gathered into the specified target
collection.
Example using a Java 8 lambda expression:
MutableList<String> names = people.collect(person -> person.getFirstName() + " " + person.getLastName(), Lists.mutable.empty());
Example using an anonymous inner class:
MutableList<String> names = people.collect(new Function<Person, String>() { public String valueOf(Person person) { return person.getFirstName() + " " + person.getLastName(); } }, Lists.mutable.empty());
collect
in interface RichIterable<T>
collect
in class AbstractMutableList<T>
function
- a Function
to use as the collect transformation functiontarget
- the Collection to append to for all elements in this RichIterable
that meet select criteria function
target
, which contains appended elements as a result of the collect transformationRichIterable.collect(Function)
public <V> MutableList<V> collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function)
MutableCollection
MutableCollection<String> collected = Lists.mutable.of().with(1, 2, 3).collectIf(Predicates.notNull(), Functions.getToString())
collectIf
in interface ListIterable<T>
collectIf
in interface MutableCollection<T>
collectIf
in interface MutableList<T>
collectIf
in interface OrderedIterable<T>
collectIf
in interface ReversibleIterable<T>
collectIf
in interface RichIterable<T>
collectIf
in class AbstractMutableList<T>
public <V,R extends java.util.Collection<V>> R collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function, R target)
RichIterable
collectIf
in interface RichIterable<T>
collectIf
in class AbstractMutableList<T>
predicate
- a Predicate
to use as the select criteriafunction
- a Function
to use as the collect transformation functiontarget
- the Collection to append to for all elements in this RichIterable
that meet the collect criteria predicate
targetCollection
, which contains appended elements as a result of the collect criteria and transformationRichIterable.collectIf(Predicate, Function)
public <V> MutableList<V> flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function)
MutableCollection
flatCollect
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; RichIterable<Person> people = ...;Using
collect
returns a collection of collections of addresses.
RichIterable<List<Address>> addresses = people.collect(addressFunction);Using
flatCollect
returns a single flattened list of addresses.
RichIterable<Address> addresses = people.flatCollect(addressFunction);Co-variant example for MutableCollection:
Function<Person, List<Address>> addressFunction = Person::getAddresses; MutableCollection<Person> people = ...; MutableCollection<List<Address>> addresses = people.collect(addressFunction); MutableCollection<Address> addresses = people.flatCollect(addressFunction);
flatCollect
in interface ListIterable<T>
flatCollect
in interface MutableCollection<T>
flatCollect
in interface MutableList<T>
flatCollect
in interface OrderedIterable<T>
flatCollect
in interface ReversibleIterable<T>
flatCollect
in interface RichIterable<T>
flatCollect
in class AbstractMutableList<T>
function
- The Function
to applyfunction
public <V,R extends java.util.Collection<V>> R flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function, R target)
RichIterable
flatCollect
in interface RichIterable<T>
flatCollect
in class AbstractMutableList<T>
function
- The Function
to applytarget
- The collection into which results should be added.target
, which will contain a flattened collection of results produced by applying the given function
RichIterable.flatCollect(Function)
public <P> Twin<MutableList<T>> selectAndRejectWith(Predicate2<? super T,? super P> predicate, P parameter)
MutableCollection
e.g. return lastNames.selectAndRejectWith(Predicates2.lessThan(), "Mason");
selectAndRejectWith
in interface MutableCollection<T>
selectAndRejectWith
in class AbstractMutableList<T>
public int size()
RichIterable
size
in interface java.util.Collection<T>
size
in interface java.util.List<T>
size
in interface RichIterable<T>
public boolean isEmpty()
RichIterable
isEmpty
in interface java.util.Collection<T>
isEmpty
in interface java.util.List<T>
isEmpty
in interface RichIterable<T>
isEmpty
in class AbstractRichIterable<T>
public boolean contains(java.lang.Object o)
RichIterable
contains
in interface java.util.Collection<T>
contains
in interface java.util.List<T>
contains
in interface RichIterable<T>
contains
in class AbstractMutableList<T>
public java.util.Iterator<T> iterator()
public java.lang.Object[] toArray()
RichIterable
toArray
in interface java.util.Collection<T>
toArray
in interface java.util.List<T>
toArray
in interface RichIterable<T>
toArray
in class AbstractRichIterable<T>
Collection.toArray()
public <E> E[] toArray(E[] array)
RichIterable
toArray
in interface java.util.Collection<T>
toArray
in interface java.util.List<T>
toArray
in interface RichIterable<T>
toArray
in class AbstractRichIterable<T>
Collection.toArray(Object[])
public boolean remove(java.lang.Object o)
remove
in interface java.util.Collection<T>
remove
in interface java.util.List<T>
remove
in class AbstractMutableCollection<T>
public boolean containsAll(java.util.Collection<?> collection)
RichIterable
containsAll
in interface java.util.Collection<T>
containsAll
in interface java.util.List<T>
containsAll
in interface RichIterable<T>
containsAll
in class AbstractMutableList<T>
Collection.containsAll(Collection)
public boolean addAll(java.util.Collection<? extends T> collection)
addAll
in interface java.util.Collection<T>
addAll
in interface java.util.List<T>
addAll
in class AbstractMutableCollection<T>
public boolean addAllIterable(java.lang.Iterable<? extends T> iterable)
addAllIterable
in interface MutableCollection<T>
addAllIterable
in class AbstractMutableCollection<T>
Collection.addAll(Collection)
public boolean removeAll(java.util.Collection<?> collection)
removeAll
in interface java.util.Collection<T>
removeAll
in interface java.util.List<T>
removeAll
in class AbstractMutableList<T>
public boolean removeAllIterable(java.lang.Iterable<?> iterable)
removeAllIterable
in interface MutableCollection<T>
removeAllIterable
in class AbstractMutableCollection<T>
Collection.removeAll(Collection)
public boolean retainAll(java.util.Collection<?> collection)
retainAll
in interface java.util.Collection<T>
retainAll
in interface java.util.List<T>
retainAll
in class AbstractMutableList<T>
public boolean retainAllIterable(java.lang.Iterable<?> iterable)
retainAllIterable
in interface MutableCollection<T>
retainAllIterable
in class AbstractMutableCollection<T>
Collection.retainAll(Collection)
public void clear()
public boolean addAll(int index, java.util.Collection<? extends T> collection)
addAll
in interface java.util.List<T>
public T get(int index)
ListIterable
get
in interface java.util.List<T>
get
in interface ListIterable<T>
public int indexOf(java.lang.Object item)
OrderedIterable
indexOf
in interface java.util.List<T>
indexOf
in interface OrderedIterable<T>
indexOf
in class AbstractMutableList<T>
List.indexOf(Object)
public int lastIndexOf(java.lang.Object item)
ListIterable
lastIndexOf
in interface java.util.List<T>
lastIndexOf
in interface ListIterable<T>
lastIndexOf
in class AbstractMutableList<T>
public java.util.ListIterator<T> listIterator(int index)
listIterator
in interface java.util.List<T>
listIterator
in interface ListIterable<T>
listIterator
in class AbstractMutableList<T>
List.listIterator(int)
public MutableList<T> subList(int fromIndex, int toIndex)
subList
in interface java.util.List<T>
subList
in interface ListIterable<T>
subList
in interface MutableList<T>
subList
in class AbstractMutableList<T>
List.subList(int, int)
public boolean equals(java.lang.Object that)
ListIterable
List.equals(Object)
.equals
in interface java.util.Collection<T>
equals
in interface java.util.List<T>
equals
in interface ListIterable<T>
equals
in class AbstractMutableList<T>
public boolean abstractArrayAdapterEquals(AbstractArrayAdapter<?> list)
public int hashCode()
ListIterable
List.hashCode()
.hashCode
in interface java.util.Collection<T>
hashCode
in interface java.util.List<T>
hashCode
in interface ListIterable<T>
hashCode
in class AbstractMutableList<T>
public <P> void forEachWith(Procedure2<? super T,? super P> procedure, P parameter)
InternalIterable
Example using a Java 8 lambda:
people.forEachWith((Person person, Person other) -> { if (person.isRelatedTo(other)) { LOGGER.info(person.getName()); } }, fred);
Example using an anonymous inner class:
people.forEachWith(new Procedure2<Person, Person>() { public void value(Person person, Person other) { if (person.isRelatedTo(other)) { LOGGER.info(person.getName()); } } }, fred);
forEachWith
in interface InternalIterable<T>
forEachWith
in class AbstractMutableList<T>
public <P> MutableList<T> selectWith(Predicate2<? super T,? super P> predicate, P parameter)
MutableCollection
MutableCollection<Integer> fives = integers.selectWith(Predicates2.equal(), Integer.valueOf(5));
selectWith
in interface ListIterable<T>
selectWith
in interface MutableCollection<T>
selectWith
in interface MutableList<T>
selectWith
in interface OrderedIterable<T>
selectWith
in interface ReversibleIterable<T>
selectWith
in interface RichIterable<T>
selectWith
in class AbstractMutableList<T>
predicate
- a Predicate2
to use as the select criteriaparameter
- a parameter to pass in for evaluation of the second argument P
in predicate
RichIterable.select(Predicate)
public <P,R extends java.util.Collection<T>> R selectWith(Predicate2<? super T,? super P> predicate, P parameter, R target)
RichIterable
RichIterable.select(Predicate, Collection)
, except with an evaluation parameter for the second generic argument in Predicate2
.
E.g. return a Collection
of Person elements where the person has an age greater than or equal to 18 years
Example using a Java 8 lambda expression:
MutableList<Person> selected = people.selectWith((Person person, Integer age) -> person.getAge() >= age, Integer.valueOf(18), Lists.mutable.empty());
Example using an anonymous inner class:
MutableList<Person> selected = people.selectWith(new Predicate2<Person, Integer>() { public boolean accept(Person person, Integer age) { return person.getAge() >= age; } }, Integer.valueOf(18), Lists.mutable.empty());
selectWith
in interface RichIterable<T>
selectWith
in class AbstractMutableList<T>
predicate
- a Predicate2
to use as the select criteriaparameter
- a parameter to pass in for evaluation of the second argument P
in predicate
target
- the Collection to append to for all elements in this RichIterable
that meet select criteria predicate
targetCollection
, which contains appended elements as a result of the select criteriaRichIterable.select(Predicate)
,
RichIterable.select(Predicate, Collection)
public <P> MutableList<T> rejectWith(Predicate2<? super T,? super P> predicate, P parameter)
MutableCollection
e.g. MutableCollection<Integer> selected = integers.rejectWith(Predicates2.equal(), Integer.valueOf(5));
rejectWith
in interface ListIterable<T>
rejectWith
in interface MutableCollection<T>
rejectWith
in interface MutableList<T>
rejectWith
in interface OrderedIterable<T>
rejectWith
in interface ReversibleIterable<T>
rejectWith
in interface RichIterable<T>
rejectWith
in class AbstractMutableList<T>
predicate
- a Predicate2
to use as the select criteriaparameter
- a parameter to pass in for evaluation of the second argument P
in predicate
RichIterable.select(Predicate)
public <P,R extends java.util.Collection<T>> R rejectWith(Predicate2<? super T,? super P> predicate, P parameter, R target)
RichIterable
RichIterable.reject(Predicate, Collection)
, except with an evaluation parameter for the second generic argument in Predicate2
.
E.g. return a Collection
of Person elements where the person has an age greater than or equal to 18 years
Example using a Java 8 lambda expression:
MutableList<Person> rejected = people.rejectWith((Person person, Integer age) -> person.getAge() < age, Integer.valueOf(18), Lists.mutable.empty());
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), Lists.mutable.empty());
rejectWith
in interface RichIterable<T>
rejectWith
in class AbstractMutableList<T>
predicate
- a Predicate2
to use as the reject criteriaparameter
- a parameter to pass in for evaluation of the second argument P
in predicate
target
- the Collection to append to for all elements in this RichIterable
that cause Predicate#accept(Object)
method to evaluate to falsetargetCollection
, which contains appended elements as a result of the reject criteriaRichIterable.reject(Predicate)
,
RichIterable.reject(Predicate, Collection)
public <P,A> MutableList<A> collectWith(Function2<? super T,? super P,? extends A> function, P parameter)
MutableCollection
RichIterable.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));Co-variant example for MutableCollection:
MutableCollection<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -> each + parameter, Integer.valueOf(1));
collectWith
in interface ListIterable<T>
collectWith
in interface MutableCollection<T>
collectWith
in interface MutableList<T>
collectWith
in interface OrderedIterable<T>
collectWith
in interface ReversibleIterable<T>
collectWith
in interface RichIterable<T>
collectWith
in class AbstractMutableList<T>
function
- A Function2
to use as the collect transformation functionparameter
- A parameter to pass in for evaluation of the second argument P
in function
RichIterable
that contains the transformed elements returned by Function2.value(Object, Object)
RichIterable.collect(Function)
public <P,A,R extends java.util.Collection<A>> R collectWith(Function2<? super T,? super P,? extends A> function, P parameter, R target)
RichIterable
Example using a Java 8 lambda expression:
MutableSet<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -> each + parameter, Integer.valueOf(1), Sets.mutable.empty());
Example using an anonymous inner class:
Function2<Integer, Integer, Integer> addParameterFunction = new Function2<Integer, Integer, Integer>() { public Integer value(final Integer each, final Integer parameter) { return each + parameter; } }; MutableSet<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith(addParameterFunction, Integer.valueOf(1), Sets.mutable.empty());
collectWith
in interface RichIterable<T>
collectWith
in class AbstractMutableList<T>
function
- a Function2
to use as the collect transformation functionparameter
- a parameter to pass in for evaluation of the second argument P
in function
target
- the Collection to append to for all elements in this RichIterable
that meet select criteria function
targetCollection
, which contains appended elements as a result of the collect transformationpublic <IV,P> IV injectIntoWith(IV injectValue, Function3<? super IV,? super T,? super P,? extends IV> function, P parameter)
injectIntoWith
in interface MutableCollection<T>
injectIntoWith
in class AbstractMutableList<T>
public void forEach(int fromIndex, int toIndex, Procedure<? super T> procedure)
OrderedIterable
e.g. OrderedIterable<People> people = FastList.newListWith(ted, mary, bob, sally) people.forEach(0, 1, new Procedure<Person>() { public void value(Person person) { LOGGER.info(person.getName()); } });
This code would output ted and mary's names.
forEach
in interface OrderedIterable<T>
forEach
in class AbstractMutableList<T>
public <P> int countWith(Predicate2<? super T,? super P> predicate, P parameter)
RichIterable
e.g. return lastNames.countWith(Predicates2.equal(), "Smith");
countWith
in interface RichIterable<T>
countWith
in class AbstractMutableList<T>
public <P> boolean anySatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
RichIterable
anySatisfyWith
in interface RichIterable<T>
anySatisfyWith
in class AbstractMutableList<T>
public <P> boolean allSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
RichIterable
allSatisfyWith
in interface RichIterable<T>
allSatisfyWith
in class AbstractMutableList<T>
public <P> boolean noneSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
RichIterable
noneSatisfyWith
in interface RichIterable<T>
noneSatisfyWith
in class AbstractMutableList<T>
public MutableList<T> distinct()
MutableList
ListIterable
containing the distinct elements in this list.distinct
in interface ListIterable<T>
distinct
in interface MutableList<T>
distinct
in interface OrderedIterable<T>
distinct
in interface ReversibleIterable<T>
distinct
in class AbstractMutableList<T>
ListIterable
of distinct elementspublic MutableList<T> distinct(HashingStrategy<? super T> hashingStrategy)
MutableList
ListIterable
containing the distinct elements in this list. Takes HashingStrategy.distinct
in interface ListIterable<T>
distinct
in interface MutableList<T>
distinct
in class AbstractMutableList<T>
ListIterable
of distinct elementspublic void appendString(java.lang.Appendable appendable, java.lang.String start, java.lang.String separator, java.lang.String end)
RichIterable
Appendable
. Prints the string returned
by RichIterable.makeString(String, String, String)
.appendString
in interface RichIterable<T>
appendString
in class AbstractMutableList<T>
public MutableList<T> take(int count)
ReversibleIterable
count
elements of the iterable
or all the elements in the iterable if count
is greater than the length of
the iterable.take
in interface ListIterable<T>
take
in interface MutableList<T>
take
in interface ReversibleIterable<T>
take
in class AbstractMutableList<T>
count
- the number of items to take.public MutableList<T> drop(int count)
ReversibleIterable
count
elements
or an empty iterable if the count
is greater than the length of the iterable.drop
in interface ListIterable<T>
drop
in interface MutableList<T>
drop
in interface ReversibleIterable<T>
drop
in class AbstractMutableList<T>
count
- the number of items to drop.Copyright © 2004–2017. All rights reserved.