Package org.infinispan.commons.util
Class FilterSpliterator<T>
- java.lang.Object
-
- org.infinispan.commons.util.FilterSpliterator<T>
-
- All Implemented Interfaces:
java.lang.AutoCloseable,java.util.Spliterator<T>,CloseableSpliterator<T>
public class FilterSpliterator<T> extends java.lang.Object implements CloseableSpliterator<T>
Spliterator that only returns entries that pass the given predicate. This spliterator will inherit all of the characteristics of the underlying spliterator, except that it won't returnSpliterator.SIZEDorSpliterator.SUBSIZED.The
forEachRemaining(Consumer)method should provide better performance than callingtryAdvance(Consumer)until it returns false. This is due to having to capture the argument before testing it and finally invoking the providedConsumer.- Since:
- 9.3
- Author:
- wburns
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface java.util.Spliterator
java.util.Spliterator.OfDouble, java.util.Spliterator.OfInt, java.util.Spliterator.OfLong, java.util.Spliterator.OfPrimitive<T extends java.lang.Object,T_CONS extends java.lang.Object,T_SPLITR extends java.util.Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
-
-
Constructor Summary
Constructors Constructor Description FilterSpliterator(java.util.Spliterator<T> spliterator, java.util.function.Predicate<? super T> predicate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcharacteristics()voidclose()longestimateSize()voidforEachRemaining(java.util.function.Consumer<? super T> action)booleantryAdvance(java.util.function.Consumer<? super T> action)java.util.Spliterator<T>trySplit()
-
-
-
Method Detail
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfaceCloseableSpliterator<T>
-
tryAdvance
public boolean tryAdvance(java.util.function.Consumer<? super T> action)
- Specified by:
tryAdvancein interfacejava.util.Spliterator<T>
-
forEachRemaining
public void forEachRemaining(java.util.function.Consumer<? super T> action)
- Specified by:
forEachRemainingin interfacejava.util.Spliterator<T>
-
trySplit
public java.util.Spliterator<T> trySplit()
- Specified by:
trySplitin interfacejava.util.Spliterator<T>
-
estimateSize
public long estimateSize()
- Specified by:
estimateSizein interfacejava.util.Spliterator<T>
-
characteristics
public int characteristics()
- Specified by:
characteristicsin interfacejava.util.Spliterator<T>
-
-