Java Interface SpliteratorSpliterators can be used for traversing the elements of a source one by one. These sources could be an array, a Collection, an IO Channel or a generator function. The main functionalities of Spliterator are- - Splitting the source data
- Processing the source data
The Interface Spliterator is included in JDK 8 for taking the advantages of parallelism in addition to sequential traversal. It is designed as a parallel analogue of an iterator. Java Interface Spliterator DeclarationJava Interface Spliterator MethodsThe list of all Java Spliterator methods with some useful description are given below- SN | Modifier & Type | Method | Description |
---|
1) | int | characteristics() | It is used to get a set of characteristics of this Spliterator and its elements. | 2) | long | estimateSize() | It is used to get an estimate of the number of elements remaining to iterate or returns Long.MAX_VALUE if infinite, unknown, or too expensive to compute. | 3) | default void | ForEachRemaining(Consumer action>) | It is used to performs the given action for each remaining element sequentially in the current thread until all elements have been processed or the action throws an exception. | 4) | default comparator | getComaparator() | It is used to get a Comparator if the given Spliterator?s source is SORTED by a Comparator. | 5) | default long | getExactSizeIfKnown() | It is used to get an estimateSize() of the SIZED spliterator, otherwise returns -1. | 6) | default boolean | hasCharacteristics(int characteristics) | It returns true if this Spliterator's characteristics() contain all of the given characteristics. | 7) | boolean | TryAdvance(Consumer action>) | It is used to get the existing elements upon performing the specified action on it. | 8) | splierator | trySplit() | It is used to splits the invoking spliterator if this spliterator can be partitioned, returns a reference to a new spliterator for the partition. Otherwise, it returns null. |
Example 1Output: Estimate size: 5
Exact size: 5
Boolean Result: true
Elements of ArrayList :
101
201
301
401
501
Output from splitr2:
101
201
Output from splitr1:
301
401
501
Example 2Output: List of Fruit name-
Mango
Banana
Apple
Example 3Output: Python
C++
Traversing the next half of the spliterator-
Java
Android
|