InternalIterable<T>, java.lang.Iterable<T>, RichIterable<T>ImmutableBag<T>, ImmutableBagIterable<T>, ImmutableSortedBag<T>, MutableBag<T>, MutableBagIterable<T>, MutableSortedBag<T>, SortedBag<T>, UnsortedBag<T>AbstractBag, AbstractHashBag, AbstractImmutableBag, AbstractImmutableBagIterable, AbstractMutableBag, AbstractMutableBagIterable, AbstractMutableSortedBag, HashBag, HashBagWithHashingStrategy, ImmutableArrayBag, ImmutableHashBag, MultiReaderHashBag, SynchronizedBag, SynchronizedSortedBag, TreeBag, UnmodifiableBag, UnmodifiableSortedBagpublic interface Bag<T> extends RichIterable<T>
| Modifier and Type | Method | Description |
|---|---|---|
ListIterable<ObjectIntPair<T>> |
bottomOccurrences(int count) |
Returns the
count least frequently occurring items. |
default <V,R extends java.util.Collection<V>> |
collectWithOccurrences(ObjectIntToObjectFunction<? super T,? extends V> function,
R target) |
Iterates over the unique elements and their occurrences and collects the results of applying the
specified function into the target collection.
|
boolean |
equals(java.lang.Object object) |
Two bagsb1 and b2 are equal if m1.toMapOfItemToCount().equals(m2.toMapOfItemToCount()).
|
void |
forEachWithOccurrences(ObjectIntProcedure<? super T> procedure) |
For each distinct item, with the number of occurrences, execute the specified procedure.
|
<V> BagMultimap<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> BagMultimap<V,T> |
groupByEach(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. |
int |
hashCode() |
Returns the hash code for this Bag, defined as this.
toMapOfItemToCount().hashCode(). |
int |
occurrencesOf(java.lang.Object item) |
The occurrences of a distinct item in the bag.
|
PartitionBag<T> |
partition(Predicate<? super T> predicate) |
Filters a collection into a PartitionedIterable based on the evaluation of the predicate.
|
<P> PartitionBag<T> |
partitionWith(Predicate2<? super T,? super P> predicate,
P parameter) |
Filters a collection into a PartitionIterable based on the evaluation of the predicate.
|
default <R> R |
reduceInPlace(java.util.function.Supplier<R> supplier,
java.util.function.BiConsumer<R,? super T> accumulator) |
This method produces the equivalent result as
Stream.collect(Supplier, BiConsumer, BiConsumer). |
default <R,A> R |
reduceInPlace(java.util.stream.Collector<? super T,A,R> collector) |
This method produces the equivalent result as
Stream.collect(Collector). |
Bag<T> |
reject(Predicate<? super T> predicate) |
Returns all elements of the source collection that return false when evaluating of the predicate.
|
<P> Bag<T> |
rejectWith(Predicate2<? super T,? super P> predicate,
P parameter) |
Similar to
RichIterable.reject(Predicate), except with an evaluation parameter for the second generic argument in Predicate2. |
Bag<T> |
select(Predicate<? super T> predicate) |
Returns all elements of the source collection that return true when evaluating the predicate.
|
Bag<T> |
selectByOccurrences(IntPredicate predicate) |
Returns all elements of the bag that have a number of occurrences that satisfy the predicate.
|
default Bag<T> |
selectDuplicates() |
Returns all elements of the bag that have more than one occurrence.
|
<S> Bag<S> |
selectInstancesOf(java.lang.Class<S> clazz) |
Returns all elements of the source collection that are instances of the Class
clazz. |
default SetIterable<T> |
selectUnique() |
Returns a set containing all elements of the bag that have exactly one occurrence.
|
<P> Bag<T> |
selectWith(Predicate2<? super T,? super P> predicate,
P parameter) |
Similar to
RichIterable.select(Predicate), except with an evaluation parameter for the second generic argument in Predicate2. |
int |
sizeDistinct() |
The size of the Bag when counting only distinct elements.
|
default java.util.DoubleSummaryStatistics |
summarizeDouble(DoubleFunction<? super T> function) |
Returns the result of summarizing the value returned from applying the DoubleFunction to
each element of the iterable.
|
default java.util.DoubleSummaryStatistics |
summarizeFloat(FloatFunction<? super T> function) |
Returns the result of summarizing the value returned from applying the FloatFunction to
each element of the iterable.
|
default java.util.IntSummaryStatistics |
summarizeInt(IntFunction<? super T> function) |
Returns the result of summarizing the value returned from applying the IntFunction to
each element of the iterable.
|
default java.util.LongSummaryStatistics |
summarizeLong(LongFunction<? super T> function) |
Returns the result of summarizing the value returned from applying the LongFunction to
each element of the iterable.
|
Bag<T> |
tap(Procedure<? super T> procedure) |
Executes the Procedure for each element in the iterable and returns
this. |
ImmutableBagIterable<T> |
toImmutable() |
|
MapIterable<T,java.lang.Integer> |
toMapOfItemToCount() |
Converts the Bag to a Map of the Item type to its count as an Integer.
|
ListIterable<ObjectIntPair<T>> |
topOccurrences(int count) |
Returns the
count most frequently occurring items. |
java.lang.String |
toStringOfItemToCount() |
Returns a string representation of this bag.
|
SetIterable<Pair<T,java.lang.Integer>> |
zipWithIndex() |
Zips this
RichIterable with its indices. |
forEach, forEach, forEachWith, forEachWithIndexaggregateBy, aggregateInPlaceBy, allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, asLazy, chunk, collect, collect, collectBoolean, collectBoolean, collectByte, collectByte, collectChar, collectChar, collectDouble, collectDouble, collectFloat, collectFloat, collectIf, collectIf, collectInt, collectInt, collectLong, collectLong, collectShort, collectShort, collectWith, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, count, countBy, countBy, countByWith, countByWith, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollect, flatCollectWith, flatCollectWith, getFirst, getLast, getOnly, groupBy, groupByEach, groupByUniqueKey, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, into, isEmpty, makeString, makeString, makeString, max, max, maxBy, maxByOptional, maxOptional, maxOptional, min, min, minBy, minByOptional, minOptional, minOptional, noneSatisfy, noneSatisfyWith, notEmpty, reduce, 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, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString, zip, zip, zipWithIndexboolean equals(java.lang.Object object)
equals in class java.lang.ObjectMap.equals(Object)int hashCode()
toMapOfItemToCount().hashCode().hashCode in class java.lang.ObjectMap.hashCode()Bag<T> tap(Procedure<? super T> procedure)
RichIterablethis.
Example using a Java 8 lambda expression:
RichIterable<Person> tapped =
people.tap(person -> LOGGER.info(person.getName()));
Example using an anonymous inner class:
RichIterable<Person> tapped =
people.tap(new Procedure<Person>()
{
public void value(Person person)
{
LOGGER.info(person.getName());
}
});
tap in interface RichIterable<T>RichIterable.each(Procedure),
InternalIterable.forEach(Procedure)Bag<T> select(Predicate<? super T> predicate)
RichIterableExample using a Java 8 lambda expression:
RichIterable<Person> selected =
people.select(person -> person.getAddress().getCity().equals("London"));
Example using an anonymous inner class:
RichIterable<Person> selected =
people.select(new Predicate<Person>()
{
public boolean accept(Person person)
{
return person.getAddress().getCity().equals("London");
}
});select in interface RichIterable<T><P> Bag<T> selectWith(Predicate2<? super T,? super P> predicate, P parameter)
RichIterableRichIterable.select(Predicate), 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:
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));
selectWith in interface RichIterable<T>predicate - a Predicate2 to use as the select criteriaparameter - a parameter to pass in for evaluation of the second argument P in predicateRichIterable.select(Predicate)Bag<T> reject(Predicate<? super T> predicate)
RichIterableExample using a Java 8 lambda expression:
RichIterable<Person> rejected =
people.reject(person -> person.person.getLastName().equals("Smith"));
Example using an anonymous inner class:
RichIterable<Person> rejected =
people.reject(new Predicate<Person>()
{
public boolean accept(Person person)
{
return person.person.getLastName().equals("Smith");
}
});
reject in interface RichIterable<T>predicate - a Predicate to use as the reject criteriaPredicate.accept(Object) method to evaluate to false<P> Bag<T> rejectWith(Predicate2<? super T,? super P> predicate, P parameter)
RichIterableRichIterable.reject(Predicate), 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:
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));
rejectWith in interface RichIterable<T>predicate - a Predicate2 to use as the select criteriaparameter - a parameter to pass in for evaluation of the second argument P in predicateRichIterable.select(Predicate)PartitionBag<T> partition(Predicate<? super T> predicate)
RichIterableExample 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");
}
});
partition in interface RichIterable<T><P> PartitionBag<T> partitionWith(Predicate2<? super T,? super P> predicate, P parameter)
RichIterableExample 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");
partitionWith in interface RichIterable<T><S> Bag<S> selectInstancesOf(java.lang.Class<S> clazz)
RichIterableclazz.
RichIterable<Integer> integers =
List.mutable.with(new Integer(0), new Long(0L), new Double(0.0)).selectInstancesOf(Integer.class);
selectInstancesOf in interface RichIterable<T><V> BagMultimap<V,T> groupBy(Function<? super T,? extends V> function)
RichIterableExample 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();
}
});
groupBy in interface RichIterable<T><V> BagMultimap<V,T> groupByEach(Function<? super T,? extends java.lang.Iterable<V>> function)
RichIterableRichIterable.groupBy(Function), except the result of evaluating function will return a collection of keys
for each value.groupByEach in interface RichIterable<T>SetIterable<Pair<T,java.lang.Integer>> zipWithIndex()
RichIterableRichIterable with its indices.zipWithIndex in interface RichIterable<T>RichIterable containing pairs consisting of all elements of this RichIterable
paired with their index. Indices start at 0.RichIterable.zip(Iterable)void forEachWithOccurrences(ObjectIntProcedure<? super T> procedure)
int occurrencesOf(java.lang.Object item)
Bag<T> selectByOccurrences(IntPredicate predicate)
default Bag<T> selectDuplicates()
default SetIterable<T> selectUnique()
ListIterable<ObjectIntPair<T>> topOccurrences(int count)
count most frequently occurring items.
In the event of a tie, all of the items with the number of occurrences that match the occurrences of the last
item will be returned.ListIterable<ObjectIntPair<T>> bottomOccurrences(int count)
count least frequently occurring items.
In the event of a tie, all of the items with the number of occurrences that match the occurrences of the last
item will be returned.int sizeDistinct()
MapIterable<T,java.lang.Integer> toMapOfItemToCount()
java.lang.String toStringOfItemToCount()
Assert.assertEquals("{1=1, 2=2, 3=3}", Bags.mutable.with(1, 2, 2, 3, 3, 3).toStringOfItemToCount());
This string representation is similar to AbstractMap.toString(), not RichIterable.toString(),
whereas the toString() implementation for a Bag is consistent with RichIterable.toString().ImmutableBagIterable<T> toImmutable()
default java.util.IntSummaryStatistics summarizeInt(IntFunction<? super T> function)
RichIterable
IntSummaryStatistics stats =
Lists.mutable.with(1, 2, 3).summarizeInt(Integer::intValue);
summarizeInt in interface RichIterable<T>default java.util.DoubleSummaryStatistics summarizeFloat(FloatFunction<? super T> function)
RichIterable
DoubleSummaryStatistics stats =
Lists.mutable.with(1, 2, 3).summarizeFloat(Integer::floatValue);
summarizeFloat in interface RichIterable<T>default java.util.LongSummaryStatistics summarizeLong(LongFunction<? super T> function)
RichIterable
LongSummaryStatistics stats =
Lists.mutable.with(1, 2, 3).summarizeLong(Integer::longValue);
summarizeLong in interface RichIterable<T>default java.util.DoubleSummaryStatistics summarizeDouble(DoubleFunction<? super T> function)
RichIterable
DoubleSummaryStatistics stats =
Lists.mutable.with(1, 2, 3).summarizeDouble(Integer::doubleValue);
summarizeDouble in interface RichIterable<T>default <R,A> R reduceInPlace(java.util.stream.Collector<? super T,A,R> collector)
Stream.collect(Collector).reduceInPlace in interface RichIterable<T>default <R> R reduceInPlace(java.util.function.Supplier<R> supplier,
java.util.function.BiConsumer<R,? super T> accumulator)
Stream.collect(Supplier, BiConsumer, BiConsumer).reduceInPlace in interface RichIterable<T>default <V,R extends java.util.Collection<V>> R collectWithOccurrences(ObjectIntToObjectFunction<? super T,? extends V> function, R target)
Copyright © 2004–2018. All rights reserved.