@Override public void forEach(Procedure<? super T> procedure) { this.delegate.forEach(new IfProcedure<>(this.predicate, procedure)); }
@Override public void forEach(Procedure<? super T> procedure) { this.delegate.forEach(new IfProcedure<>(this.predicate, procedure)); }
@Override public <V> UnsortedSetMultimap<V, T> groupBy(Function<? super T, ? extends V> function) { MutableSetMultimap<V, T> result = SynchronizedPutUnifiedSetMultimap.newMultimap(); this.forEach(each -> { V key = function.valueOf(each); result.put(key, each); }); return result; }
@Override public <V> UnsortedSetMultimap<V, T> groupBy(Function<? super T, ? extends V> function) { MutableSetMultimap<V, T> result = SynchronizedPutUnifiedSetMultimap.newMultimap(); this.forEach(each -> { V key = function.valueOf(each); result.put(key, each); }); return result; }
@Override public <V> UnsortedSetMultimap<V, T> groupByEach(Function<? super T, ? extends Iterable<V>> function) { MutableSetMultimap<V, T> result = SynchronizedPutUnifiedSetMultimap.newMultimap(); this.forEach(each -> { Iterable<V> keys = function.valueOf(each); for (V key : keys) { result.put(key, each); } }); return result; } }
@Override public <V> UnsortedSetMultimap<V, T> groupByEach(Function<? super T, ? extends Iterable<V>> function) { MutableSetMultimap<V, T> result = SynchronizedPutUnifiedSetMultimap.newMultimap(); this.forEach(each -> { Iterable<V> keys = function.valueOf(each); for (V key : keys) { result.put(key, each); } }); return result; } }
@Override public void forEach(Procedure<? super T> procedure) { this.delegate.forEach(new IfProcedure<>(this.predicate, procedure)); }
@Override public <V> UnsortedSetMultimap<V, T> groupBy(Function<? super T, ? extends V> function) { MutableSetMultimap<V, T> result = SynchronizedPutUnifiedSetMultimap.newMultimap(); this.forEach(each -> { V key = function.valueOf(each); result.put(key, each); }); return result; }
@Override public <V> UnsortedSetMultimap<V, T> groupByEach(Function<? super T, ? extends Iterable<V>> function) { MutableSetMultimap<V, T> result = SynchronizedPutUnifiedSetMultimap.newMultimap(); this.forEach(each -> { Iterable<V> keys = function.valueOf(each); for (V key : keys) { result.put(key, each); } }); return result; } }