Module java.base
Package java.util

# Interface Spliterator.OfInt

All Superinterfaces:
  `Spliterator<Integer>`, `Spliterator.OfPrimitive<Integer,IntConsumer,Spliterator.OfInt>`

All Known Implementing Classes:
  `Spliterators.AbstractIntSpliterator`

Enclosing interface:
  Spliterator<T>

public static interface Spliterator.OfInt extends Spliterator.OfPrimitive<Integer,IntConsumer,Spliterator.OfInt>
A Spliterator specialized for `int` values.

Since:
  1.8

## Nested Class Summary

## Nested classes/interfaces declared in interface java.util.Spliterator

`Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,T_CONS,T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>`

## Field Summary

### Fields declared in interface java.util.Spliterator

`CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED`

## Method Summary

Modifier and Type
Method
Description
`default void`
`forEachRemaining(Consumer<? super Integer> action)`
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.
`default boolean`
`tryAdvance(Consumer<? super Integer> action)`
If a remaining element exists, performs the given action on it, returning `true`; else returns `false`.

### Methods declared in interface java.util.Spliterator

`characteristics, estimateSize, getComparator, getExactSizeIfKnown, hasCharacteristics, trySplit`

### Methods declared in interface java.util.Spliterator.OfPrimitive

`forEachRemaining, tryAdvance`

## Method Details

### tryAdvance

default boolean tryAdvance(Consumer<? super Integer> action)
If a remaining element exists, performs the given action on it, returning `true`; else returns `false`. If this Spliterator is `Spliterator.ORDERED` the action is performed on the next element in encounter order. Exceptions thrown by the action are relayed to the caller.

Subsequent behavior of a spliterator is unspecified if the action throws an exception.

Specified by:
  `tryAdvance` in interface `Spliterator<Integer>`
Implementation Requirements:
  If the action is an instance of `IntConsumer` then it is cast to `IntConsumer` and passed to `Spliterator.OfPrimitive.tryAdvance(java.util.function.IntConsumer)`; otherwise the action is adapted to an instance of `IntConsumer`, by boxing the argument of `IntConsumer`, and then passed to `Spliterator.OfPrimitive.tryAdvance(java.util.function.IntConsumer)`.
Parameters:
  `action` - The action
Returns:
  `false` if no remaining elements existed upon entry to this method, else `true`.

### forEachRemaining

default void forEachRemaining(Consumer<? super Integer> action)
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. If this Spliterator is `Spliterator.ORDERED`, actions are performed in encounter order. Exceptions thrown by the action are relayed to the caller.

Subsequent behavior of a spliterator is unspecified if the action throws an exception.

Specified by:
  `forEachRemaining` in interface `Spliterator<Integer>`
Implementation Requirements:
  If the action is an instance of `IntConsumer` then it is cast to `IntConsumer` and passed to `Spliterator.OfPrimitive.forEachRemaining(java.util.function.IntConsumer)`; otherwise the action is adapted to an instance of `IntConsumer`, by boxing the argument of `IntConsumer`, and then passed to `Spliterator.OfPrimitive.forEachRemaining(java.util.function.IntConsumer)`.
Parameters:
  `action` - The action