Class UnmodifiableSortedBag<T>
- java.lang.Object
-
- org.eclipse.collections.impl.collection.mutable.AbstractUnmodifiableMutableCollection<T>
-
- org.eclipse.collections.impl.bag.sorted.mutable.UnmodifiableSortedBag<T>
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.lang.Comparable<SortedBag<T>>,java.lang.Iterable<T>,java.util.Collection<T>,Bag<T>,MutableBagIterable<T>,MutableSortedBag<T>,SortedBag<T>,MutableCollection<T>,InternalIterable<T>,OrderedIterable<T>,ReversibleIterable<T>,SortedIterable<T>,RichIterable<T>
public class UnmodifiableSortedBag<T> extends AbstractUnmodifiableMutableCollection<T> implements MutableSortedBag<T>, java.io.Serializable
An unmodifiable view of a SortedBag.- Since:
- 4.2
- See Also:
MutableSortedBag.asUnmodifiable(), Serialized Form
-
-
Constructor Summary
Constructors Constructor Description UnmodifiableSortedBag(MutableSortedBag<? extends T> sortedBag)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intaddOccurrences(T item, int occurrences)Add number ofoccurrencesfor anitem.booleanallSatisfyWithOccurrences(ObjectIntPredicate<? super T> predicate)Returns true if the predicate evaluates to true for all elements of the Bag.booleananySatisfyWithOccurrences(ObjectIntPredicate<? super T> predicate)Returns true if the predicate evaluates to true for any element of the Bag.LazyIterable<T>asReversed()Returns a reversed view of this ReversibleIterable.MutableSortedBag<T>asSynchronized()Returns a synchronized wrapper backed by this collection.MutableSortedBag<T>asUnmodifiable()Returns an unmodifiable view of this collection.MutableList<ObjectIntPair<T>>bottomOccurrences(int count)Returns thecountleast frequently occurring items.UnmodifiableSortedBag<T>clone()<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.MutableBooleanListcollectBoolean(BooleanFunction<? super T> booleanFunction)Returns a new primitivebooleaniterable with the results of applying the specified function on each element of the source collection.MutableByteListcollectByte(ByteFunction<? super T> byteFunction)Returns a new primitivebyteiterable with the results of applying the specified function on each element of the source collection.MutableCharListcollectChar(CharFunction<? super T> charFunction)Returns a new primitivechariterable with the results of applying the specified function on each element of the source collection.MutableDoubleListcollectDouble(DoubleFunction<? super T> doubleFunction)Returns a new primitivedoubleiterable with the results of applying the specified function on each element of the source collection.MutableFloatListcollectFloat(FloatFunction<? super T> floatFunction)Returns a new primitivefloatiterable with the results of applying the specified function on each element of the source 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.MutableIntListcollectInt(IntFunction<? super T> intFunction)Returns a new primitiveintiterable with the results of applying the specified function on each element of the source collection.MutableLongListcollectLong(LongFunction<? super T> longFunction)Returns a new primitivelongiterable with the results of applying the specified function on each element of the source collection.MutableShortListcollectShort(ShortFunction<? super T> shortFunction)Returns a new primitiveshortiterable with the results of applying the specified function on each element of the source collection.<P,A>
MutableList<A>collectWith(Function2<? super T,? super P,? extends A> function, P parameter)Same asRichIterable.collect(Function)with aFunction2and specified parameter which is passed to the block.<V> MutableList<V>collectWithIndex(ObjectIntToObjectFunction<? super T,? extends V> function)Returns a new OrderedIterable using results obtained by applying the specified function to each element and its corresponding index.<V,R extends java.util.Collection<V>>
RcollectWithIndex(ObjectIntToObjectFunction<? super T,? extends V> function, R target)Adds elements to the target Collection using results obtained by applying the specified function to each element and its corresponding index.<V> MutableList<V>collectWithOccurrences(ObjectIntToObjectFunction<? super T,? extends V> function)Iterates over the unique elements and their occurrences and collects the results of applying the specified function.<V,R extends java.util.Collection<V>>
RcollectWithOccurrences(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.java.util.Comparator<? super T>comparator()Returns the comparator used to order the elements in this bag, or null if this bag uses the natural ordering of its elements.intcompareTo(SortedBag<T> o)<S> booleancorresponds(OrderedIterable<S> other, Predicate2<? super T,? super S> predicate)Returns true if both OrderedIterables have the same length andpredicatereturns true for all corresponding elements e1 of thisOrderedIterableand e2 ofother.intdetectIndex(Predicate<? super T> predicate)Returns the index of the first element of theOrderedIterablefor which thepredicateevaluates to true.intdetectLastIndex(Predicate<? super T> predicate)Returns the index of the last element of theReversibleIterablefor which thepredicateevaluates to true.TdetectWithOccurrences(ObjectIntPredicate<? super T> predicate)Returns an element of the Bag that satisfies the predicate or null if such an element does not existMutableSortedSet<T>distinct()Returns a newSortedIterablecontaining the distinct elements in this iterable.RichIterable<T>distinctView()Returns an unmodifiable view on the distinct elements with the same complexity as the Bag implementation.MutableSortedBag<T>drop(int count)Returns an iterable after skipping the firstcountelements or an empty iterable if thecountis greater than the length of the iterable.MutableSortedBag<T>dropWhile(Predicate<? super T> predicate)Returns the final elements that do not satisfy the Predicate.booleanequals(java.lang.Object obj)Two bagsb1andb2are equal ifm1.toMapOfItemToCount().equals(m2.toMapOfItemToCount()).<V> MutableList<V>flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function)flatCollectis a special case ofRichIterable.collect(Function).voidforEach(int startIndex, int endIndex, Procedure<? super T> procedure)Iterates over the section of the iterable covered by the specified inclusive indexes.voidforEachWithIndex(int fromIndex, int toIndex, ObjectIntProcedure<? super T> objectIntProcedure)Iterates over the section of the iterable covered by the specified inclusive indexes.voidforEachWithOccurrences(ObjectIntProcedure<? super T> procedure)For each distinct item, with the number of occurrences, execute the specified procedure.protected MutableSortedBag<T>getSortedBag()<V> MutableSortedBagMultimap<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> MutableSortedBagMultimap<V,T>groupByEach(Function<? super T,? extends java.lang.Iterable<V>> function)Similar toRichIterable.groupBy(Function), except the result of evaluating function will return a collection of keys for each value.inthashCode()Returns the hash code for this Bag, defined as this.Bag.toMapOfItemToCount().hashCode().intindexOf(java.lang.Object object)Returns the index of the first occurrence of the specified item in this iterable, or -1 if this iterable does not contain the item.MutableSortedBag<T>newEmpty()Creates a new empty mutable version of the same collection type.booleannoneSatisfyWithOccurrences(ObjectIntPredicate<? super T> predicate)Returns true if the Bag is empty or if the predicate evaluates to false for all elements of the Bag.intoccurrencesOf(java.lang.Object item)The occurrences of a distinct item in the bag.static <E,S extends MutableSortedBag<E>>
UnmodifiableSortedBag<E>of(S bag)This method will take a MutableSortedBag and wrap it directly in a UnmodifiableSortedBag.PartitionMutableSortedBag<T>partition(Predicate<? super T> predicate)Filters a collection into a PartitionedIterable based on the evaluation of the predicate.PartitionMutableSortedBag<T>partitionWhile(Predicate<? super T> predicate)Returns a Partition of the initial elements that satisfy the Predicate and the remaining elements.<P> PartitionMutableSortedBag<T>partitionWith(Predicate2<? super T,? super P> predicate, P parameter)Filters a collection into a PartitionIterable based on the evaluation of the predicate.MutableSortedBag<T>reject(Predicate<? super T> predicate)Returns a MutableCollection with all elements that evaluate to false for the specified predicate.<P> MutableSortedBag<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.booleanremoveOccurrences(java.lang.Object item, int occurrences)voidreverseForEach(Procedure<? super T> procedure)Evaluates the procedure for each element of the list iterating in reverse order.voidreverseForEachWithIndex(ObjectIntProcedure<? super T> procedure)Evaluates the procedure for each element and it's index in reverse order.MutableSortedBag<T>select(Predicate<? super T> predicate)Returns a MutableCollection with all elements that evaluate to true for the specified predicate.MutableSortedBag<T>selectByOccurrences(IntPredicate predicate)Returns all elements of the bag that have a number of occurrences that satisfy the predicate.<S> MutableSortedBag<S>selectInstancesOf(java.lang.Class<S> clazz)Returns all elements of the source collection that are instances of the Classclazz.MutableSortedSet<T>selectUnique()Returns a set containing all elements of the bag that have exactly one occurrence.<P> MutableSortedBag<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.booleansetOccurrences(T item, int occurrences)intsizeDistinct()The size of the Bag when counting only distinct elements.<V> MutableObjectLongMap<V>sumByInt(Function<? super T,? extends V> groupBy, IntFunction<? super T> function)Groups and sums the values using the two specified functions.<V> MutableObjectLongMap<V>sumByLong(Function<? super T,? extends V> groupBy, LongFunction<? super T> function)Groups and sums the values using the two specified functions.MutableSortedBag<T>take(int count)Returns the firstcountelements of the iterable or all the elements in the iterable ifcountis greater than the length of the iterable.MutableSortedBag<T>takeWhile(Predicate<? super T> predicate)Returns the initial elements that satisfy the Predicate.MutableSortedBag<T>tap(Procedure<? super T> procedure)Executes the Procedure for each element in the iterable and returnsthis.ImmutableSortedBag<T>toImmutable()Converts thisMutableCollectionto anImmutableCollection.MutableSortedMap<T,java.lang.Integer>toMapOfItemToCount()Converts the Bag to a Map of the Item type to its count as an Integer.MutableList<ObjectIntPair<T>>topOccurrences(int count)Returns thecountmost frequently occurring items.MutableSortedBag<T>toReversed()Returns a new ReversibleIterable in reverse order.MutableStack<T>toStack()Converts the OrderedIterable to a mutable MutableStack implementation.java.lang.StringtoStringOfItemToCount()Returns a string representation of this bag.MutableSortedBag<T>with(T element)This method allows mutable and fixed size collections the ability to add elements to their existing elements.MutableSortedBag<T>withAll(java.lang.Iterable<? extends T> elements)This method allows mutable and fixed size collections the ability to add multiple elements to their existing elements.MutableSortedBag<T>without(T element)This method allows mutable and fixed size collections the ability to remove elements from their existing elements.MutableSortedBag<T>withoutAll(java.lang.Iterable<? extends T> elements)This method allows mutable and fixed size collections the ability to remove multiple elements from their existing elements.protected java.lang.ObjectwriteReplace()<S> MutableList<Pair<T,S>>zip(java.lang.Iterable<S> that)Returns aRichIterableformed from thisRichIterableand anotherRichIterableby combining corresponding elements in pairs.<S,R extends java.util.Collection<Pair<T,S>>>
Rzip(java.lang.Iterable<S> that, R target)Same asRichIterable.zip(Iterable)but usestargetfor output.MutableSortedSet<Pair<T,java.lang.Integer>>zipWithIndex()Zips thisRichIterablewith its indices.<R extends java.util.Collection<Pair<T,java.lang.Integer>>>
RzipWithIndex(R target)Same asRichIterable.zipWithIndex()but usestargetfor output.-
Methods inherited from class org.eclipse.collections.impl.collection.mutable.AbstractUnmodifiableMutableCollection
add, addAll, addAllIterable, allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, asLazy, chunk, clear, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, containsAny, containsAnyIterable, containsNone, containsNoneIterable, count, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, forEachWith, forEachWithIndex, getFirst, getLast, getMutableCollection, getOnly, groupBy, groupByEach, groupByUniqueKey, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, injectIntoWith, into, isEmpty, iterator, makeString, makeString, makeString, max, max, maxBy, min, min, minBy, noneSatisfy, noneSatisfyWith, notEmpty, reject, rejectWith, remove, removeAll, removeAllIterable, removeIf, removeIfWith, retainAll, retainAllIterable, select, selectAndRejectWith, selectWith, size, sumByDouble, sumByFloat, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toBiMap, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedList, toSortedList, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.api.bag.Bag
aggregateBy, reduceBy, reduceInPlace, reduceInPlace, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong
-
Methods inherited from interface java.util.Collection
add, addAll, clear, contains, containsAll, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray
-
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach, forEachWith
-
Methods inherited from interface org.eclipse.collections.api.collection.MutableCollection
addAllIterable, aggregateBy, aggregateInPlaceBy, flatCollectWith, groupByUniqueKey, injectIntoWith, removeAllIterable, removeIf, removeIfWith, retainAllIterable, selectAndRejectWith, sumByDouble, sumByFloat, toArray, toArray
-
Methods inherited from interface org.eclipse.collections.api.bag.sorted.MutableSortedBag
countBy, countByEach, countByWith, flatCollectWith, selectDuplicates, toImmutableSortedBag, withOccurrences, withoutOccurrences
-
Methods inherited from interface org.eclipse.collections.api.ordered.OrderedIterable
forEachWithIndex, getFirst, getFirstOptional, getLast, getLastOptional, rejectWithIndex, selectWithIndex
-
Methods inherited from interface org.eclipse.collections.api.RichIterable
allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, asLazy, chunk, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, containsAny, containsAnyIterable, containsBy, containsNone, containsNoneIterable, count, countBy, countByEach, countByWith, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, flatCollectWith, forEach, getAny, getOnly, groupBy, groupByAndCollect, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, into, isEmpty, makeString, makeString, makeString, makeString, max, maxBy, maxByOptional, maxOptional, maxOptional, min, minBy, minByOptional, minOptional, minOptional, noneSatisfy, noneSatisfyWith, notEmpty, reduce, reduceBy, reject, rejectWith, select, selectWith, size, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toBiMap, toImmutableBag, toImmutableBiMap, toImmutableList, toImmutableMap, toImmutableSet, toImmutableSortedBag, toImmutableSortedBagBy, toImmutableSortedList, toImmutableSortedList, toImmutableSortedListBy, toImmutableSortedSet, toImmutableSortedSet, toImmutableSortedSetBy, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString
-
-
-
-
Constructor Detail
-
UnmodifiableSortedBag
UnmodifiableSortedBag(MutableSortedBag<? extends T> sortedBag)
-
-
Method Detail
-
of
public static <E,S extends MutableSortedBag<E>> UnmodifiableSortedBag<E> of(S bag)
This method will take a MutableSortedBag and wrap it directly in a UnmodifiableSortedBag.
-
getSortedBag
protected MutableSortedBag<T> getSortedBag()
-
asUnmodifiable
public MutableSortedBag<T> asUnmodifiable()
Description copied from interface:MutableCollectionReturns an unmodifiable view of this collection. This is the equivalent of usingCollections.unmodifiableCollection(this)with a return type that supports the full iteration protocols available onMutableCollection. Methods which would mutate the underlying collection will throw UnsupportedOperationExceptions.- Specified by:
asUnmodifiablein interfaceMutableCollection<T>- Specified by:
asUnmodifiablein interfaceMutableSortedBag<T>- Overrides:
asUnmodifiablein classAbstractUnmodifiableMutableCollection<T>- Returns:
- an unmodifiable view of this collection.
- See Also:
Collections.unmodifiableCollection(Collection)
-
asSynchronized
public MutableSortedBag<T> asSynchronized()
Description copied from interface:MutableCollectionReturns a synchronized wrapper backed by this collection. This is the equivalent of usingCollections.synchronizedCollection(this)only with a return type that supports the full iteration protocols available onMutableCollection. The preferred way of iterating over a synchronized collection is to use the internal iteration methods which are properly synchronized internally.MutableCollection synchedCollection = collection.asSynchronized(); ... synchedCollection.forEach(each -> ... ); synchedCollection.select(each -> ... ); synchedCollection.collect(each -> ... );If you want to iterate using an imperative style, you must protect external iterators using a synchronized block. This includes explicit iterators as well as JDK 5 style for loops.- Specified by:
asSynchronizedin interfaceMutableCollection<T>- Specified by:
asSynchronizedin interfaceMutableSortedBag<T>- Overrides:
asSynchronizedin classAbstractUnmodifiableMutableCollection<T>- Returns:
- a synchronized view of this collection.
- See Also:
Collections.synchronizedCollection(Collection)
-
toImmutable
public ImmutableSortedBag<T> toImmutable()
Description copied from interface:MutableCollectionConverts thisMutableCollectionto anImmutableCollection.- Specified by:
toImmutablein interfaceBag<T>- Specified by:
toImmutablein interfaceMutableCollection<T>- Specified by:
toImmutablein interfaceSortedBag<T>- Overrides:
toImmutablein classAbstractUnmodifiableMutableCollection<T>
-
clone
public UnmodifiableSortedBag<T> clone()
- Specified by:
clonein interfaceMutableSortedBag<T>- Overrides:
clonein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
Description copied from interface:BagTwo bagsb1andb2are equal ifm1.toMapOfItemToCount().equals(m2.toMapOfItemToCount()).
-
hashCode
public int hashCode()
Description copied from interface:BagReturns the hash code for this Bag, defined as this.Bag.toMapOfItemToCount().hashCode().
-
newEmpty
public MutableSortedBag<T> newEmpty()
Description copied from interface:MutableCollectionCreates a new empty mutable version of the same collection type. For example, if this instance is a FastList, this method will return a new empty FastList. If the class of this instance is immutable or fixed size (i.e. SingletonList) then a mutable alternative to the class will be provided.- Specified by:
newEmptyin interfaceMutableCollection<T>- Specified by:
newEmptyin interfaceMutableSortedBag<T>- Overrides:
newEmptyin classAbstractUnmodifiableMutableCollection<T>
-
addOccurrences
public int addOccurrences(T item, int occurrences)
Description copied from interface:MutableBagIterableAdd number ofoccurrencesfor anitem. If theitemdoes not exist, then theitemis added to the bag.For Example:
MutableBagIterable<String> names = Bags.mutable.of("A", "B", "B"); Assert.assertEquals(4, names.addOccurrences("A", 3));- Specified by:
addOccurrencesin interfaceMutableBagIterable<T>- Returns:
- updated number of occurrences.
-
removeOccurrences
public boolean removeOccurrences(java.lang.Object item, int occurrences)- Specified by:
removeOccurrencesin interfaceMutableBagIterable<T>
-
setOccurrences
public boolean setOccurrences(T item, int occurrences)
- Specified by:
setOccurrencesin interfaceMutableBagIterable<T>
-
tap
public MutableSortedBag<T> tap(Procedure<? super T> procedure)
Description copied from interface:RichIterableExecutes the Procedure for each element in the iterable and returnsthis.Example using a Java 8 lambda expression:
RichIterable<Person> tapped = people.tap(person -> LOGGER.info(person.getName()));- Specified by:
tapin interfaceBag<T>- Specified by:
tapin interfaceMutableBagIterable<T>- Specified by:
tapin interfaceMutableCollection<T>- Specified by:
tapin interfaceMutableSortedBag<T>- Specified by:
tapin interfaceOrderedIterable<T>- Specified by:
tapin interfaceReversibleIterable<T>- Specified by:
tapin interfaceRichIterable<T>- Specified by:
tapin interfaceSortedBag<T>- Specified by:
tapin interfaceSortedIterable<T>- Overrides:
tapin classAbstractUnmodifiableMutableCollection<T>- See Also:
RichIterable.each(Procedure),RichIterable.forEach(Procedure)
-
select
public MutableSortedBag<T> select(Predicate<? super T> predicate)
Description copied from interface:MutableCollectionReturns a MutableCollection with all elements that evaluate to true for the specified predicate.MutableCollection<Integer> livesInLondon = people.select(person -> person.getAddress().getCity().equals("London"));- Specified by:
selectin interfaceBag<T>- Specified by:
selectin interfaceMutableBagIterable<T>- Specified by:
selectin interfaceMutableCollection<T>- Specified by:
selectin interfaceMutableSortedBag<T>- Specified by:
selectin interfaceOrderedIterable<T>- Specified by:
selectin interfaceReversibleIterable<T>- Specified by:
selectin interfaceRichIterable<T>- Specified by:
selectin interfaceSortedBag<T>- Specified by:
selectin interfaceSortedIterable<T>- Overrides:
selectin classAbstractUnmodifiableMutableCollection<T>
-
selectWith
public <P> MutableSortedBag<T> selectWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:MutableCollectionReturns a MutableCollection with all elements that evaluate to true for the specified predicate2 and parameter.MutableCollection<Integer> fives = integers.selectWith(Predicates2.equal(), Integer.valueOf(5));- Specified by:
selectWithin interfaceBag<T>- Specified by:
selectWithin interfaceMutableBagIterable<T>- Specified by:
selectWithin interfaceMutableCollection<T>- Specified by:
selectWithin interfaceMutableSortedBag<T>- Specified by:
selectWithin interfaceOrderedIterable<T>- Specified by:
selectWithin interfaceReversibleIterable<T>- Specified by:
selectWithin interfaceRichIterable<T>- Specified by:
selectWithin interfaceSortedBag<T>- Specified by:
selectWithin interfaceSortedIterable<T>- Overrides:
selectWithin classAbstractUnmodifiableMutableCollection<T>- Parameters:
predicate- aPredicate2to use as the select criteriaparameter- a parameter to pass in for evaluation of the second argumentPinpredicate- See Also:
RichIterable.select(Predicate)
-
reject
public MutableSortedBag<T> reject(Predicate<? super T> predicate)
Description copied from interface:MutableCollectionReturns a MutableCollection with all elements that evaluate to false for the specified predicate.MutableCollection<Person> notSmiths = people.reject(person -> person.person.getLastName().equals("Smith"));Using thePredicatesfactory:MutableCollection<Person> notSmiths = people.reject(Predicates.attributeEqual("lastName", "Smith"));- Specified by:
rejectin interfaceBag<T>- Specified by:
rejectin interfaceMutableBagIterable<T>- Specified by:
rejectin interfaceMutableCollection<T>- Specified by:
rejectin interfaceMutableSortedBag<T>- Specified by:
rejectin interfaceOrderedIterable<T>- Specified by:
rejectin interfaceReversibleIterable<T>- Specified by:
rejectin interfaceRichIterable<T>- Specified by:
rejectin interfaceSortedBag<T>- Specified by:
rejectin interfaceSortedIterable<T>- Overrides:
rejectin classAbstractUnmodifiableMutableCollection<T>- Parameters:
predicate- aPredicateto use as the reject criteria- Returns:
- a RichIterable that contains elements that cause
Predicate.accept(Object)method to evaluate to false
-
rejectWith
public <P> MutableSortedBag<T> rejectWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:MutableCollectionReturns a MutableCollection with all elements that evaluate to false for the specified predicate2 and parameter.e.g. MutableCollection<Integer> selected = integers.rejectWith(Predicates2.equal(), Integer.valueOf(5));- Specified by:
rejectWithin interfaceBag<T>- Specified by:
rejectWithin interfaceMutableBagIterable<T>- Specified by:
rejectWithin interfaceMutableCollection<T>- Specified by:
rejectWithin interfaceMutableSortedBag<T>- Specified by:
rejectWithin interfaceOrderedIterable<T>- Specified by:
rejectWithin interfaceReversibleIterable<T>- Specified by:
rejectWithin interfaceRichIterable<T>- Specified by:
rejectWithin interfaceSortedBag<T>- Specified by:
rejectWithin interfaceSortedIterable<T>- Overrides:
rejectWithin classAbstractUnmodifiableMutableCollection<T>- Parameters:
predicate- aPredicate2to use as the select criteriaparameter- a parameter to pass in for evaluation of the second argumentPinpredicate- See Also:
RichIterable.select(Predicate)
-
partition
public PartitionMutableSortedBag<T> partition(Predicate<? super T> predicate)
Description copied from interface:MutableCollectionFilters 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"));Co-variant example for MutableCollection:PartitionMutableCollection<Person> newYorkersAndNonNewYorkers = people.partition(person -> person.getAddress().getState().getName().equals("New York"));- Specified by:
partitionin interfaceBag<T>- Specified by:
partitionin interfaceMutableBagIterable<T>- Specified by:
partitionin interfaceMutableCollection<T>- Specified by:
partitionin interfaceMutableSortedBag<T>- Specified by:
partitionin interfaceOrderedIterable<T>- Specified by:
partitionin interfaceReversibleIterable<T>- Specified by:
partitionin interfaceRichIterable<T>- Specified by:
partitionin interfaceSortedBag<T>- Specified by:
partitionin interfaceSortedIterable<T>- Overrides:
partitionin classAbstractUnmodifiableMutableCollection<T>
-
partitionWith
public <P> PartitionMutableSortedBag<T> partitionWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:MutableCollectionFilters 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");Co-variant example for MutableCollection:PartitionMutableCollection<Person> newYorkersAndNonNewYorkers = people.partitionWith((Person person, String state) -> person.getAddress().getState().getName().equals(state), "New York");- Specified by:
partitionWithin interfaceBag<T>- Specified by:
partitionWithin interfaceMutableBagIterable<T>- Specified by:
partitionWithin interfaceMutableCollection<T>- Specified by:
partitionWithin interfaceMutableSortedBag<T>- Specified by:
partitionWithin interfaceOrderedIterable<T>- Specified by:
partitionWithin interfaceReversibleIterable<T>- Specified by:
partitionWithin interfaceRichIterable<T>- Specified by:
partitionWithin interfaceSortedBag<T>- Overrides:
partitionWithin classAbstractUnmodifiableMutableCollection<T>
-
partitionWhile
public PartitionMutableSortedBag<T> partitionWhile(Predicate<? super T> predicate)
Description copied from interface:SortedIterableReturns a Partition of the initial elements that satisfy the Predicate and the remaining elements. Short circuits at the first element which does satisfy the Predicate.- Specified by:
partitionWhilein interfaceMutableSortedBag<T>- Specified by:
partitionWhilein interfaceOrderedIterable<T>- Specified by:
partitionWhilein interfaceReversibleIterable<T>- Specified by:
partitionWhilein interfaceSortedBag<T>- Specified by:
partitionWhilein interfaceSortedIterable<T>
-
sizeDistinct
public int sizeDistinct()
Description copied from interface:BagThe size of the Bag when counting only distinct elements.- Specified by:
sizeDistinctin interfaceBag<T>
-
occurrencesOf
public int occurrencesOf(java.lang.Object item)
Description copied from interface:BagThe occurrences of a distinct item in the bag.- Specified by:
occurrencesOfin interfaceBag<T>
-
forEachWithOccurrences
public void forEachWithOccurrences(ObjectIntProcedure<? super T> procedure)
Description copied from interface:BagFor each distinct item, with the number of occurrences, execute the specified procedure.- Specified by:
forEachWithOccurrencesin interfaceBag<T>
-
anySatisfyWithOccurrences
public boolean anySatisfyWithOccurrences(ObjectIntPredicate<? super T> predicate)
Description copied from interface:BagReturns true if the predicate evaluates to true for any element of the Bag. Returns false if the Bag is empty or if no element returns true for the predicate.- Specified by:
anySatisfyWithOccurrencesin interfaceBag<T>
-
allSatisfyWithOccurrences
public boolean allSatisfyWithOccurrences(ObjectIntPredicate<? super T> predicate)
Description copied from interface:BagReturns true if the predicate evaluates to true for all elements of the Bag. Returns false if the Bag is empty or if not all elements return true for the predicate.- Specified by:
allSatisfyWithOccurrencesin interfaceBag<T>
-
noneSatisfyWithOccurrences
public boolean noneSatisfyWithOccurrences(ObjectIntPredicate<? super T> predicate)
Description copied from interface:BagReturns true if the Bag is empty or if the predicate evaluates to false for all elements of the Bag. Returns false if the predicate evaluates to true for at least one element of the Bag.- Specified by:
noneSatisfyWithOccurrencesin interfaceBag<T>
-
detectWithOccurrences
public T detectWithOccurrences(ObjectIntPredicate<? super T> predicate)
Description copied from interface:BagReturns an element of the Bag that satisfies the predicate or null if such an element does not exist- Specified by:
detectWithOccurrencesin interfaceBag<T>
-
collectWithOccurrences
public <V> MutableList<V> collectWithOccurrences(ObjectIntToObjectFunction<? super T,? extends V> function)
Description copied from interface:BagIterates over the unique elements and their occurrences and collects the results of applying the specified function.- Specified by:
collectWithOccurrencesin interfaceBag<T>- Specified by:
collectWithOccurrencesin interfaceMutableBagIterable<T>- Specified by:
collectWithOccurrencesin interfaceMutableSortedBag<T>- Specified by:
collectWithOccurrencesin interfaceSortedBag<T>
-
collectWithOccurrences
public <V,R extends java.util.Collection<V>> R collectWithOccurrences(ObjectIntToObjectFunction<? super T,? extends V> function, R target)
Description copied from interface:BagIterates over the unique elements and their occurrences and collects the results of applying the specified function into the target collection.- Specified by:
collectWithOccurrencesin interfaceBag<T>- Since:
- 9.1.
-
toMapOfItemToCount
public MutableSortedMap<T,java.lang.Integer> toMapOfItemToCount()
Description copied from interface:BagConverts the Bag to a Map of the Item type to its count as an Integer.- Specified by:
toMapOfItemToCountin interfaceBag<T>- Specified by:
toMapOfItemToCountin interfaceMutableBagIterable<T>- Specified by:
toMapOfItemToCountin interfaceMutableSortedBag<T>- Specified by:
toMapOfItemToCountin interfaceSortedBag<T>
-
toStringOfItemToCount
public java.lang.String toStringOfItemToCount()
Description copied from interface:BagReturns a string representation of this bag. The string representation consists of a list of element-count mappings.Assert.assertEquals("{1=1, 2=2, 3=3}", Bags.mutable.with(1, 2, 2, 3, 3, 3).toStringOfItemToCount());This string representation is similar toAbstractMap.toString(), notRichIterable.toString(), whereas thetoString()implementation for a Bag is consistent withRichIterable.toString().- Specified by:
toStringOfItemToCountin interfaceBag<T>- Returns:
- a string representation of this bag
-
selectByOccurrences
public MutableSortedBag<T> selectByOccurrences(IntPredicate predicate)
Description copied from interface:BagReturns all elements of the bag that have a number of occurrences that satisfy the predicate.- Specified by:
selectByOccurrencesin interfaceBag<T>- Specified by:
selectByOccurrencesin interfaceMutableBagIterable<T>- Specified by:
selectByOccurrencesin interfaceMutableSortedBag<T>- Specified by:
selectByOccurrencesin interfaceSortedBag<T>
-
topOccurrences
public MutableList<ObjectIntPair<T>> topOccurrences(int count)
Description copied from interface:BagReturns thecountmost frequently occurring items. In the event of a tie, all the items with the number of occurrences that match the occurrences of the last item will be returned.- Specified by:
topOccurrencesin interfaceBag<T>- Specified by:
topOccurrencesin interfaceMutableBagIterable<T>
-
bottomOccurrences
public MutableList<ObjectIntPair<T>> bottomOccurrences(int count)
Description copied from interface:BagReturns thecountleast 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.- Specified by:
bottomOccurrencesin interfaceBag<T>- Specified by:
bottomOccurrencesin interfaceMutableBagIterable<T>
-
selectInstancesOf
public <S> MutableSortedBag<S> selectInstancesOf(java.lang.Class<S> clazz)
Description copied from interface:MutableCollectionReturns 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);Co-variant example for MutableCollection:MutableCollection<Integer> integers = List.mutable.with(new Integer(0), new Long(0L), new Double(0.0)).selectInstancesOf(Integer.class);- Specified by:
selectInstancesOfin interfaceBag<T>- Specified by:
selectInstancesOfin interfaceMutableBagIterable<T>- Specified by:
selectInstancesOfin interfaceMutableCollection<T>- Specified by:
selectInstancesOfin interfaceMutableSortedBag<T>- Specified by:
selectInstancesOfin interfaceOrderedIterable<T>- Specified by:
selectInstancesOfin interfaceReversibleIterable<T>- Specified by:
selectInstancesOfin interfaceRichIterable<T>- Specified by:
selectInstancesOfin interfaceSortedBag<T>- Specified by:
selectInstancesOfin interfaceSortedIterable<T>- Overrides:
selectInstancesOfin classAbstractUnmodifiableMutableCollection<T>
-
collect
public <V> MutableList<V> collect(Function<? super T,? extends V> function)
Description copied from interface:MutableCollectionReturns a new MutableCollection with the results of applying the specified function to each element of the source collection.MutableCollection<String> names = people.collect(person -> person.getFirstName() + " " + person.getLastName());- Specified by:
collectin interfaceMutableCollection<T>- Specified by:
collectin interfaceMutableSortedBag<T>- Specified by:
collectin interfaceOrderedIterable<T>- Specified by:
collectin interfaceReversibleIterable<T>- Specified by:
collectin interfaceRichIterable<T>- Specified by:
collectin interfaceSortedBag<T>- Overrides:
collectin classAbstractUnmodifiableMutableCollection<T>
-
collectWithIndex
public <V> MutableList<V> collectWithIndex(ObjectIntToObjectFunction<? super T,? extends V> function)
Description copied from interface:OrderedIterableReturns a new OrderedIterable using results obtained by applying the specified function to each element and its corresponding index.- Specified by:
collectWithIndexin interfaceMutableSortedBag<T>- Specified by:
collectWithIndexin interfaceOrderedIterable<T>- Specified by:
collectWithIndexin interfaceReversibleIterable<T>- Specified by:
collectWithIndexin interfaceSortedBag<T>- Since:
- 9.1.
-
collectWithIndex
public <V,R extends java.util.Collection<V>> R collectWithIndex(ObjectIntToObjectFunction<? super T,? extends V> function, R target)
Description copied from interface:OrderedIterableAdds elements to the target Collection using results obtained by applying the specified function to each element and its corresponding index.- Specified by:
collectWithIndexin interfaceOrderedIterable<T>- Since:
- 9.1.
-
collectBoolean
public MutableBooleanList collectBoolean(BooleanFunction<? super T> booleanFunction)
Description copied from interface:MutableCollectionReturns a new primitivebooleaniterable 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());Co-variant example for MutableCollection:MutableBooleanCollection licenses = people.collectBoolean(person -> person.hasDrivingLicense());- Specified by:
collectBooleanin interfaceMutableCollection<T>- Specified by:
collectBooleanin interfaceMutableSortedBag<T>- Specified by:
collectBooleanin interfaceOrderedIterable<T>- Specified by:
collectBooleanin interfaceReversibleIterable<T>- Specified by:
collectBooleanin interfaceRichIterable<T>- Specified by:
collectBooleanin interfaceSortedBag<T>- Overrides:
collectBooleanin classAbstractUnmodifiableMutableCollection<T>
-
collectByte
public MutableByteList collectByte(ByteFunction<? super T> byteFunction)
Description copied from interface:MutableCollectionReturns a new primitivebyteiterable 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());Co-variant example for MutableCollection:MutableByteCollection bytes = people.collectByte(person -> person.getCode());- Specified by:
collectBytein interfaceMutableCollection<T>- Specified by:
collectBytein interfaceMutableSortedBag<T>- Specified by:
collectBytein interfaceOrderedIterable<T>- Specified by:
collectBytein interfaceReversibleIterable<T>- Specified by:
collectBytein interfaceRichIterable<T>- Specified by:
collectBytein interfaceSortedBag<T>- Overrides:
collectBytein classAbstractUnmodifiableMutableCollection<T>
-
collectChar
public MutableCharList collectChar(CharFunction<? super T> charFunction)
Description copied from interface:MutableCollectionReturns a new primitivechariterable 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());Co-variant example for MutableCollection:MutableCharCollection chars = people.collectChar(person -> person.getMiddleInitial());- Specified by:
collectCharin interfaceMutableCollection<T>- Specified by:
collectCharin interfaceMutableSortedBag<T>- Specified by:
collectCharin interfaceOrderedIterable<T>- Specified by:
collectCharin interfaceReversibleIterable<T>- Specified by:
collectCharin interfaceRichIterable<T>- Specified by:
collectCharin interfaceSortedBag<T>- Overrides:
collectCharin classAbstractUnmodifiableMutableCollection<T>
-
collectDouble
public MutableDoubleList collectDouble(DoubleFunction<? super T> doubleFunction)
Description copied from interface:MutableCollectionReturns a new primitivedoubleiterable 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());Co-variant example for MutableCollection:MutableDoubleCollection doubles = people.collectDouble(person -> person.getMilesFromNorthPole());- Specified by:
collectDoublein interfaceMutableCollection<T>- Specified by:
collectDoublein interfaceMutableSortedBag<T>- Specified by:
collectDoublein interfaceOrderedIterable<T>- Specified by:
collectDoublein interfaceReversibleIterable<T>- Specified by:
collectDoublein interfaceRichIterable<T>- Specified by:
collectDoublein interfaceSortedBag<T>- Overrides:
collectDoublein classAbstractUnmodifiableMutableCollection<T>
-
collectFloat
public MutableFloatList collectFloat(FloatFunction<? super T> floatFunction)
Description copied from interface:MutableCollectionReturns a new primitivefloatiterable 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());Co-variant example for MutableCollection:MutableFloatCollection floats = people.collectFloat(person -> person.getHeightInInches());- Specified by:
collectFloatin interfaceMutableCollection<T>- Specified by:
collectFloatin interfaceMutableSortedBag<T>- Specified by:
collectFloatin interfaceOrderedIterable<T>- Specified by:
collectFloatin interfaceReversibleIterable<T>- Specified by:
collectFloatin interfaceRichIterable<T>- Specified by:
collectFloatin interfaceSortedBag<T>- Overrides:
collectFloatin classAbstractUnmodifiableMutableCollection<T>
-
collectInt
public MutableIntList collectInt(IntFunction<? super T> intFunction)
Description copied from interface:MutableCollectionReturns a new primitiveintiterable 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());Co-variant example for MutableCollection:MutableIntCollection ints = people.collectInt(person -> person.getAge());- Specified by:
collectIntin interfaceMutableCollection<T>- Specified by:
collectIntin interfaceMutableSortedBag<T>- Specified by:
collectIntin interfaceOrderedIterable<T>- Specified by:
collectIntin interfaceReversibleIterable<T>- Specified by:
collectIntin interfaceRichIterable<T>- Specified by:
collectIntin interfaceSortedBag<T>- Overrides:
collectIntin classAbstractUnmodifiableMutableCollection<T>
-
collectLong
public MutableLongList collectLong(LongFunction<? super T> longFunction)
Description copied from interface:MutableCollectionReturns a new primitivelongiterable 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());Co-variant example for MutableCollection:MutableLongCollection longs = people.collectLong(person -> person.getGuid());- Specified by:
collectLongin interfaceMutableCollection<T>- Specified by:
collectLongin interfaceMutableSortedBag<T>- Specified by:
collectLongin interfaceOrderedIterable<T>- Specified by:
collectLongin interfaceReversibleIterable<T>- Specified by:
collectLongin interfaceRichIterable<T>- Specified by:
collectLongin interfaceSortedBag<T>- Overrides:
collectLongin classAbstractUnmodifiableMutableCollection<T>
-
collectShort
public MutableShortList collectShort(ShortFunction<? super T> shortFunction)
Description copied from interface:MutableCollectionReturns a new primitiveshortiterable 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());Co-variant example for MutableCollection:MutableShortCollection shorts = people.collectShort(person -> person.getNumberOfJunkMailItemsReceivedPerMonth());- Specified by:
collectShortin interfaceMutableCollection<T>- Specified by:
collectShortin interfaceMutableSortedBag<T>- Specified by:
collectShortin interfaceOrderedIterable<T>- Specified by:
collectShortin interfaceReversibleIterable<T>- Specified by:
collectShortin interfaceRichIterable<T>- Specified by:
collectShortin interfaceSortedBag<T>- Overrides:
collectShortin classAbstractUnmodifiableMutableCollection<T>
-
flatCollect
public <V> MutableList<V> flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function)
Description copied from interface:MutableCollectionflatCollectis a special case ofRichIterable.collect(Function). Withcollect, when theFunctionreturns a collection, the result is a collection of collections.flatCollectoutputs a single "flattened" collection instead. This method is commonly called flatMap.Consider the following example where we have a
Personclass, and eachPersonhas a list ofAddressobjects. Take the followingFunction:Function<Person, List<Address>> addressFunction = Person::getAddresses; RichIterable<Person> people = ...;
Usingcollectreturns a collection of collections of addresses.RichIterable<List<Address>> addresses = people.collect(addressFunction);
UsingflatCollectreturns 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);
- Specified by:
flatCollectin interfaceMutableCollection<T>- Specified by:
flatCollectin interfaceMutableSortedBag<T>- Specified by:
flatCollectin interfaceOrderedIterable<T>- Specified by:
flatCollectin interfaceReversibleIterable<T>- Specified by:
flatCollectin interfaceRichIterable<T>- Specified by:
flatCollectin interfaceSortedBag<T>- Overrides:
flatCollectin classAbstractUnmodifiableMutableCollection<T>- Parameters:
function- TheFunctionto apply- Returns:
- a new flattened collection produced by applying the given
function
-
distinct
public MutableSortedSet<T> distinct()
Description copied from interface:SortedIterableReturns a newSortedIterablecontaining the distinct elements in this iterable.Conceptually similar to
RichIterable.toSet().RichIterable.toList()but retains the original order. If an element appears multiple times in this iterable, the first one will be copied into the result.- Specified by:
distinctin interfaceMutableSortedBag<T>- Specified by:
distinctin interfaceOrderedIterable<T>- Specified by:
distinctin interfaceReversibleIterable<T>- Specified by:
distinctin interfaceSortedBag<T>- Specified by:
distinctin interfaceSortedIterable<T>- Returns:
SortedIterableof distinct elements
-
corresponds
public <S> boolean corresponds(OrderedIterable<S> other, Predicate2<? super T,? super S> predicate)
Description copied from interface:OrderedIterableReturns true if both OrderedIterables have the same length andpredicatereturns true for all corresponding elements e1 of thisOrderedIterableand e2 ofother. Thepredicateis evaluated for each element at the same position of eachOrderedIterablein a forward iteration order. This is a short circuit pattern.- Specified by:
correspondsin interfaceOrderedIterable<T>
-
forEach
public void forEach(int startIndex, int endIndex, Procedure<? super T> procedure)Description copied from interface:OrderedIterableIterates over the section of the iterable covered by the specified inclusive indexes. The indexes are both inclusive.e.g. OrderedIterable<Person> people = FastList.newListWith(ted, mary, bob, sally) people.forEach(0, 1, person -> LOGGER.info(person.getName()));
This code would output ted and mary's names.
- Specified by:
forEachin interfaceOrderedIterable<T>
-
forEachWithIndex
public void forEachWithIndex(int fromIndex, int toIndex, ObjectIntProcedure<? super T> objectIntProcedure)Description copied from interface:OrderedIterableIterates over the section of the iterable covered by the specified inclusive indexes. The indexes are both inclusive.e.g. OrderedIterable<People> people = FastList.newListWith(ted, mary, bob, sally) people.forEachWithIndex(0, 1, (person, index) -> LOGGER.info(person.getName()));
This code would output ted and mary's names.
- Specified by:
forEachWithIndexin interfaceOrderedIterable<T>
-
toStack
public MutableStack<T> toStack()
Description copied from interface:OrderedIterableConverts the OrderedIterable to a mutable MutableStack implementation.- Specified by:
toStackin interfaceOrderedIterable<T>
-
indexOf
public int indexOf(java.lang.Object object)
Description copied from interface:OrderedIterableReturns the index of the first occurrence of the specified item in this iterable, or -1 if this iterable does not contain the item.- Specified by:
indexOfin interfaceOrderedIterable<T>- See Also:
List.indexOf(Object)
-
takeWhile
public MutableSortedBag<T> takeWhile(Predicate<? super T> predicate)
Description copied from interface:SortedIterableReturns the initial elements that satisfy the Predicate. Short circuits at the first element which does not satisfy the Predicate.- Specified by:
takeWhilein interfaceMutableSortedBag<T>- Specified by:
takeWhilein interfaceOrderedIterable<T>- Specified by:
takeWhilein interfaceReversibleIterable<T>- Specified by:
takeWhilein interfaceSortedBag<T>- Specified by:
takeWhilein interfaceSortedIterable<T>
-
dropWhile
public MutableSortedBag<T> dropWhile(Predicate<? super T> predicate)
Description copied from interface:SortedIterableReturns the final elements that do not satisfy the Predicate. Short circuits at the first element which does satisfy the Predicate.- Specified by:
dropWhilein interfaceMutableSortedBag<T>- Specified by:
dropWhilein interfaceOrderedIterable<T>- Specified by:
dropWhilein interfaceReversibleIterable<T>- Specified by:
dropWhilein interfaceSortedBag<T>- Specified by:
dropWhilein interfaceSortedIterable<T>
-
collectWith
public <P,A> MutableList<A> collectWith(Function2<? super T,? super P,? extends A> function, P parameter)
Description copied from interface:MutableCollectionSame asRichIterable.collect(Function)with aFunction2and 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));Co-variant example for MutableCollection:MutableCollection<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -> each + parameter, Integer.valueOf(1));- Specified by:
collectWithin interfaceMutableCollection<T>- Specified by:
collectWithin interfaceMutableSortedBag<T>- Specified by:
collectWithin interfaceOrderedIterable<T>- Specified by:
collectWithin interfaceReversibleIterable<T>- Specified by:
collectWithin interfaceRichIterable<T>- Specified by:
collectWithin interfaceSortedBag<T>- Overrides:
collectWithin classAbstractUnmodifiableMutableCollection<T>- Parameters:
function- AFunction2to use as the collect transformation functionparameter- A parameter to pass in for evaluation of the second argumentPinfunction- Returns:
- A new
RichIterablethat contains the transformed elements returned byFunction2.value(Object, Object) - See Also:
RichIterable.collect(Function)
-
collectIf
public <V> MutableList<V> collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function)
Description copied from interface:MutableCollectionReturns 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.MutableCollection<String> collected = Lists.mutable.of().with(1, 2, 3).collectIf(Predicates.notNull(), Functions.getToString())- Specified by:
collectIfin interfaceMutableCollection<T>- Specified by:
collectIfin interfaceMutableSortedBag<T>- Specified by:
collectIfin interfaceOrderedIterable<T>- Specified by:
collectIfin interfaceReversibleIterable<T>- Specified by:
collectIfin interfaceRichIterable<T>- Specified by:
collectIfin interfaceSortedBag<T>- Overrides:
collectIfin classAbstractUnmodifiableMutableCollection<T>
-
detectIndex
public int detectIndex(Predicate<? super T> predicate)
Description copied from interface:OrderedIterableReturns the index of the first element of theOrderedIterablefor which thepredicateevaluates to true. Returns -1 if no element evaluates true for thepredicate.- Specified by:
detectIndexin interfaceOrderedIterable<T>
-
groupBy
public <V> MutableSortedBagMultimap<V,T> groupBy(Function<? super T,? extends V> function)
Description copied from interface:MutableCollectionFor 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);Co-variant example for MutableCollection:MutableMultimap<String, Person> peopleByLastName = people.groupBy(Person::getLastName);- Specified by:
groupByin interfaceBag<T>- Specified by:
groupByin interfaceMutableBagIterable<T>- Specified by:
groupByin interfaceMutableCollection<T>- Specified by:
groupByin interfaceMutableSortedBag<T>- Specified by:
groupByin interfaceOrderedIterable<T>- Specified by:
groupByin interfaceReversibleIterable<T>- Specified by:
groupByin interfaceRichIterable<T>- Specified by:
groupByin interfaceSortedBag<T>- Specified by:
groupByin interfaceSortedIterable<T>- Overrides:
groupByin classAbstractUnmodifiableMutableCollection<T>
-
groupByEach
public <V> MutableSortedBagMultimap<V,T> groupByEach(Function<? super T,? extends java.lang.Iterable<V>> function)
Description copied from interface:RichIterableSimilar toRichIterable.groupBy(Function), except the result of evaluating function will return a collection of keys for each value.- Specified by:
groupByEachin interfaceBag<T>- Specified by:
groupByEachin interfaceMutableBagIterable<T>- Specified by:
groupByEachin interfaceMutableCollection<T>- Specified by:
groupByEachin interfaceMutableSortedBag<T>- Specified by:
groupByEachin interfaceOrderedIterable<T>- Specified by:
groupByEachin interfaceReversibleIterable<T>- Specified by:
groupByEachin interfaceRichIterable<T>- Specified by:
groupByEachin interfaceSortedBag<T>- Specified by:
groupByEachin interfaceSortedIterable<T>- Overrides:
groupByEachin classAbstractUnmodifiableMutableCollection<T>
-
zip
public <S> MutableList<Pair<T,S>> zip(java.lang.Iterable<S> that)
Description copied from interface:RichIterableReturns aRichIterableformed from thisRichIterableand anotherRichIterableby combining corresponding elements in pairs. If one of the twoRichIterables is longer than the other, its remaining elements are ignored.- Specified by:
zipin interfaceMutableCollection<T>- Specified by:
zipin interfaceMutableSortedBag<T>- Specified by:
zipin interfaceOrderedIterable<T>- Specified by:
zipin interfaceReversibleIterable<T>- Specified by:
zipin interfaceRichIterable<T>- Specified by:
zipin interfaceSortedIterable<T>- Overrides:
zipin classAbstractUnmodifiableMutableCollection<T>- Type Parameters:
S- the type of the second half of the returned pairs- Parameters:
that- TheRichIterableproviding the second half of each result pair- Returns:
- A new
RichIterablecontaining pairs consisting of corresponding elements of thisRichIterableand that. The length of the returnedRichIterableis the minimum of the lengths of thisRichIterableand that.
-
zip
public <S,R extends java.util.Collection<Pair<T,S>>> R zip(java.lang.Iterable<S> that, R target)
Description copied from interface:RichIterableSame asRichIterable.zip(Iterable)but usestargetfor output.- Specified by:
zipin interfaceOrderedIterable<T>- Specified by:
zipin interfaceRichIterable<T>- Overrides:
zipin classAbstractUnmodifiableMutableCollection<T>
-
zipWithIndex
public MutableSortedSet<Pair<T,java.lang.Integer>> zipWithIndex()
Description copied from interface:RichIterableZips thisRichIterablewith its indices.- Specified by:
zipWithIndexin interfaceBag<T>- Specified by:
zipWithIndexin interfaceMutableBagIterable<T>- Specified by:
zipWithIndexin interfaceMutableCollection<T>- Specified by:
zipWithIndexin interfaceMutableSortedBag<T>- Specified by:
zipWithIndexin interfaceOrderedIterable<T>- Specified by:
zipWithIndexin interfaceReversibleIterable<T>- Specified by:
zipWithIndexin interfaceRichIterable<T>- Specified by:
zipWithIndexin interfaceSortedBag<T>- Specified by:
zipWithIndexin interfaceSortedIterable<T>- Overrides:
zipWithIndexin classAbstractUnmodifiableMutableCollection<T>- Returns:
- A new
RichIterablecontaining pairs consisting of all elements of thisRichIterablepaired with their index. Indices start at 0. - See Also:
RichIterable.zip(Iterable)
-
zipWithIndex
public <R extends java.util.Collection<Pair<T,java.lang.Integer>>> R zipWithIndex(R target)
Description copied from interface:RichIterableSame asRichIterable.zipWithIndex()but usestargetfor output.- Specified by:
zipWithIndexin interfaceOrderedIterable<T>- Specified by:
zipWithIndexin interfaceRichIterable<T>- Overrides:
zipWithIndexin classAbstractUnmodifiableMutableCollection<T>
-
toReversed
public MutableSortedBag<T> toReversed()
Description copied from interface:ReversibleIterableReturns a new ReversibleIterable in reverse order.- Specified by:
toReversedin interfaceMutableSortedBag<T>- Specified by:
toReversedin interfaceReversibleIterable<T>- Specified by:
toReversedin interfaceSortedBag<T>
-
take
public MutableSortedBag<T> take(int count)
Description copied from interface:ReversibleIterableReturns the firstcountelements of the iterable or all the elements in the iterable ifcountis greater than the length of the iterable.- Specified by:
takein interfaceMutableSortedBag<T>- Specified by:
takein interfaceReversibleIterable<T>- Specified by:
takein interfaceSortedBag<T>- Parameters:
count- the number of items to take.
-
drop
public MutableSortedBag<T> drop(int count)
Description copied from interface:ReversibleIterableReturns an iterable after skipping the firstcountelements or an empty iterable if thecountis greater than the length of the iterable.- Specified by:
dropin interfaceMutableSortedBag<T>- Specified by:
dropin interfaceReversibleIterable<T>- Specified by:
dropin interfaceSortedBag<T>- Parameters:
count- the number of items to drop.
-
reverseForEach
public void reverseForEach(Procedure<? super T> procedure)
Description copied from interface:ReversibleIterableEvaluates the procedure for each element of the list iterating in reverse order.e.g. people.reverseForEach(person -> LOGGER.info(person.getName()));
- Specified by:
reverseForEachin interfaceReversibleIterable<T>
-
reverseForEachWithIndex
public void reverseForEachWithIndex(ObjectIntProcedure<? super T> procedure)
Description copied from interface:ReversibleIterableEvaluates the procedure for each element and it's index in reverse order.e.g. people.reverseForEachWithIndex((person, index) -> LOGGER.info("Index: " + index + " person: " + person.getName()));- Specified by:
reverseForEachWithIndexin interfaceReversibleIterable<T>
-
asReversed
public LazyIterable<T> asReversed()
Description copied from interface:ReversibleIterableReturns a reversed view of this ReversibleIterable.- Specified by:
asReversedin interfaceReversibleIterable<T>
-
detectLastIndex
public int detectLastIndex(Predicate<? super T> predicate)
Description copied from interface:ReversibleIterableReturns the index of the last element of theReversibleIterablefor which thepredicateevaluates to true. Returns -1 if no element evaluates true for thepredicate.- Specified by:
detectLastIndexin interfaceReversibleIterable<T>
-
comparator
public java.util.Comparator<? super T> comparator()
Description copied from interface:SortedBagReturns the comparator used to order the elements in this bag, or null if this bag uses the natural ordering of its elements.- Specified by:
comparatorin interfaceSortedBag<T>- Specified by:
comparatorin interfaceSortedIterable<T>
-
with
public MutableSortedBag<T> with(T element)
Description copied from interface:MutableCollectionThis method allows mutable and fixed size collections the ability to add elements to their existing elements. In order to support fixed size a new instance of a collection would have to be returned taking the elements of the original collection and appending the new element to form the new collection. In the case of mutable collections, the original collection is modified, and is returned. In order to use this method properly with mutable and fixed size collections the following approach must be taken:MutableCollection<String> list = list.with("1"); list = list.with("2"); return list;In the case ofFixedSizeCollectiona new instance of MutableCollection will be returned by with, and any variables that previously referenced the original collection will need to be redirected to reference the new instance. For other MutableCollection types you will replace the reference to collection with the same collection, since the instance will return "this" after calling add on itself.- Specified by:
within interfaceMutableBagIterable<T>- Specified by:
within interfaceMutableCollection<T>- Specified by:
within interfaceMutableSortedBag<T>- Overrides:
within classAbstractUnmodifiableMutableCollection<T>- See Also:
Collection.add(Object)
-
without
public MutableSortedBag<T> without(T element)
Description copied from interface:MutableCollectionThis method allows mutable and fixed size collections the ability to remove elements from their existing elements. In order to support fixed size a new instance of a collection would have to be returned containing the elements that would be left from the original collection after calling remove. In the case of mutable collections, the original collection is modified, and is returned. In order to use this method properly with mutable and fixed size collections the following approach must be taken:MutableCollection<String> list = list.without("1"); list = list.without("2"); return list;In the case ofFixedSizeCollectiona new instance of MutableCollection will be returned by without, and any variables that previously referenced the original collection will need to be redirected to reference the new instance. For other MutableCollection types you will replace the reference to collection with the same collection, since the instance will return "this" after calling remove on itself.- Specified by:
withoutin interfaceMutableBagIterable<T>- Specified by:
withoutin interfaceMutableCollection<T>- Specified by:
withoutin interfaceMutableSortedBag<T>- Overrides:
withoutin classAbstractUnmodifiableMutableCollection<T>- See Also:
Collection.remove(Object)
-
withAll
public MutableSortedBag<T> withAll(java.lang.Iterable<? extends T> elements)
Description copied from interface:MutableCollectionThis method allows mutable and fixed size collections the ability to add multiple elements to their existing elements. In order to support fixed size a new instance of a collection would have to be returned taking the elements of the original collection and appending the new elements to form the new collection. In the case of mutable collections, the original collection is modified, and is returned. In order to use this method properly with mutable and fixed size collections the following approach must be taken:MutableCollection<String> list = list.withAll(FastList.newListWith("1", "2"));In the case ofFixedSizeCollectiona new instance of MutableCollection will be returned by withAll, and any variables that previously referenced the original collection will need to be redirected to reference the new instance. For other MutableCollection types you will replace the reference to collection with the same collection, since the instance will return "this" after calling addAll on itself.- Specified by:
withAllin interfaceMutableBagIterable<T>- Specified by:
withAllin interfaceMutableCollection<T>- Specified by:
withAllin interfaceMutableSortedBag<T>- Overrides:
withAllin classAbstractUnmodifiableMutableCollection<T>- See Also:
Collection.addAll(Collection)
-
withoutAll
public MutableSortedBag<T> withoutAll(java.lang.Iterable<? extends T> elements)
Description copied from interface:MutableCollectionThis method allows mutable and fixed size collections the ability to remove multiple elements from their existing elements. In order to support fixed size a new instance of a collection would have to be returned containing the elements that would be left from the original collection after calling removeAll. In the case of mutable collections, the original collection is modified, and is returned. In order to use this method properly with mutable and fixed size collections the following approach must be taken:MutableCollection<String> list = list.withoutAll(FastList.newListWith("1", "2"));In the case ofFixedSizeCollectiona new instance of MutableCollection will be returned by withoutAll, and any variables that previously referenced the original collection will need to be redirected to reference the new instance. For other MutableCollection types you will replace the reference to collection with the same collection, since the instance will return "this" after calling removeAll on itself.- Specified by:
withoutAllin interfaceMutableBagIterable<T>- Specified by:
withoutAllin interfaceMutableCollection<T>- Specified by:
withoutAllin interfaceMutableSortedBag<T>- Overrides:
withoutAllin classAbstractUnmodifiableMutableCollection<T>- See Also:
Collection.removeAll(Collection)
-
compareTo
public int compareTo(SortedBag<T> o)
- Specified by:
compareToin interfacejava.lang.Comparable<T>
-
writeReplace
protected java.lang.Object writeReplace()
-
selectUnique
public MutableSortedSet<T> selectUnique()
Description copied from interface:BagReturns a set containing all elements of the bag that have exactly one occurrence.- Specified by:
selectUniquein interfaceBag<T>- Specified by:
selectUniquein interfaceMutableBagIterable<T>- Specified by:
selectUniquein interfaceMutableSortedBag<T>- Specified by:
selectUniquein interfaceSortedBag<T>
-
sumByInt
public <V> MutableObjectLongMap<V> sumByInt(Function<? super T,? extends V> groupBy, IntFunction<? super T> function)
Description copied from interface:RichIterableGroups and sums the values using the two specified functions.- Specified by:
sumByIntin interfaceMutableCollection<T>- Specified by:
sumByIntin interfaceRichIterable<T>- Overrides:
sumByIntin classAbstractUnmodifiableMutableCollection<T>
-
sumByLong
public <V> MutableObjectLongMap<V> sumByLong(Function<? super T,? extends V> groupBy, LongFunction<? super T> function)
Description copied from interface:RichIterableGroups and sums the values using the two specified functions.- Specified by:
sumByLongin interfaceMutableCollection<T>- Specified by:
sumByLongin interfaceRichIterable<T>- Overrides:
sumByLongin classAbstractUnmodifiableMutableCollection<T>
-
distinctView
public RichIterable<T> distinctView()
Description copied from interface:BagReturns an unmodifiable view on the distinct elements with the same complexity as the Bag implementation.- Specified by:
distinctViewin interfaceBag<T>- Returns:
- an unmodifiable view on the distinct elements of the Bag.
-
-