## Uses of Interface
java.util.function.Consumer

- Packages that use Consumer
  Package | Description
  --- | ---
  java.lang | Provides classes that are fundamental to the design of the Java programming language.
  java.net.http | HTTP Client and WebSocket APIs
  java.nio.channels | Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
  java.util | Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.
  java.util.concurrent | Utility classes commonly useful in concurrent programming.
  java.util.function | Functional interfaces provide target types for lambda expressions and method references.
  java.util.stream | Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections.
  jdk.jshell | Provides interfaces for creating tools, such as a Read-Eval-Print Loop (REPL), which interactively evaluate "snippets" of Java programming language code.
  jdk.jshell.execution | Provides implementation support for building JShell execution engines.

- - ### Uses of Consumer in java.lang

    Methods in java.lang with parameters of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | Iterable.`forEach​(Consumer<? super T> action)` | Performs the given action for each element of the `Iterable` until all elements have been processed or the action throws an exception.
    `void` | StackWalker.`forEach​(Consumer<? super StackWalker.StackFrame> action)` | Performs the given action on each element of `StackFrame` stream of the current thread, traversing from the top frame of the stack, which is the method calling this `forEach` method.

  - ### Uses of Consumer in java.net.http

    Methods in java.net.http with parameters of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `static HttpResponse.BodyHandler<Void>` | HttpResponse.BodyHandlers.`ofByteArrayConsumer​(Consumer<Optional<byte[]>> consumer)` | Returns a `BodyHandler<Void>` that returns a `BodySubscriber``<Void>` obtained from `BodySubscribers.ofByteArrayConsumer(Consumer)`.
    `static HttpResponse.BodySubscriber<Void>` | HttpResponse.BodySubscribers.`ofByteArrayConsumer​(Consumer<Optional<byte[]>> consumer)` | Returns a `BodySubscriber` which provides the incoming body data to the provided Consumer of `Optional<byte[]>`.

  - ### Uses of Consumer in java.nio.channels

    Methods in java.nio.channels with parameters of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | Selector.`select​(Consumer<SelectionKey> action)` | Selects and performs an action on the keys whose corresponding channels are ready for I/O operations.
    `int` | Selector.`select​(Consumer<SelectionKey> action, long timeout)` | Selects and performs an action on the keys whose corresponding channels are ready for I/O operations.
    `int` | Selector.`selectNow​(Consumer<SelectionKey> action)` | Selects and performs an action on the keys whose corresponding channels are ready for I/O operations.

  - ### Uses of Consumer in java.util

    Methods in java.util with parameters of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ArrayDeque.`forEach​(Consumer<? super E> action)` |
    `void` | ArrayList.`forEach​(Consumer<? super E> action)` |
    `void` | PriorityQueue.`forEach​(Consumer<? super E> action)` |
    `void` | Vector.`forEach​(Consumer<? super E> action)` |
    `default void` | Iterator.`forEachRemaining​(Consumer<? super E> action)` | Performs the given action for each remaining element until all elements have been processed or the action throws an exception.
    `default void` | PrimitiveIterator.OfDouble.`forEachRemaining​(Consumer<? super Double> action)` | Performs the given action for each remaining element until all elements have been processed or the action throws an exception.
    `default void` | PrimitiveIterator.OfInt.`forEachRemaining​(Consumer<? super Integer> action)` | Performs the given action for each remaining element until all elements have been processed or the action throws an exception.
    `default void` | PrimitiveIterator.OfLong.`forEachRemaining​(Consumer<? super Long> action)` | Performs the given action for each remaining element until all elements have been processed or the action throws an exception.
    `default void` | Spliterator.`forEachRemaining​(Consumer<? super T> 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 void` | Spliterator.OfDouble.`forEachRemaining​(Consumer<? super Double> 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 void` | Spliterator.OfInt.`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 void` | Spliterator.OfLong.`forEachRemaining​(Consumer<? super Long> 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.
    `void` | Optional.`ifPresent​(Consumer<? super T> action)` | If a value is present, performs the given action with the value, otherwise does nothing.
    `void` | Optional.`ifPresentOrElse​(Consumer<? super T> action, Runnable emptyAction)` | If a value is present, performs the given action with the value, otherwise performs the given empty-based action.
    `default boolean` | Spliterator.OfDouble.`tryAdvance​(Consumer<? super Double> action)` | If a remaining element exists, performs the given action on it, returning `true`; else returns `false`.
    `default boolean` | Spliterator.OfInt.`tryAdvance​(Consumer<? super Integer> action)` | If a remaining element exists, performs the given action on it, returning `true`; else returns `false`.
    `default boolean` | Spliterator.OfLong.`tryAdvance​(Consumer<? super Long> action)` | If a remaining element exists, performs the given action on it, returning `true`; else returns `false`.
    `boolean` | Spliterator.`tryAdvance​(Consumer<? super T> action)` | If a remaining element exists, performs the given action on it, returning `true`; else returns `false`.

  - ### Uses of Consumer in java.util.concurrent

    Methods in java.util.concurrent with parameters of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `CompletionStage<Void>` | CompletionStage.`acceptEither​(CompletionStage<? extends T> other, Consumer<? super T> action)` | Returns a new CompletionStage that, when either this or the other given stage complete normally, is executed with the corresponding result as argument to the supplied action.
    `CompletionStage<Void>` | CompletionStage.`acceptEitherAsync​(CompletionStage<? extends T> other, Consumer<? super T> action)` | Returns a new CompletionStage that, when either this or the other given stage complete normally, is executed using this stage's default asynchronous execution facility, with the corresponding result as argument to the supplied action.
    `CompletionStage<Void>` | CompletionStage.`acceptEitherAsync​(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)` | Returns a new CompletionStage that, when either this or the other given stage complete normally, is executed using the supplied executor, with the corresponding result as argument to the supplied action.
    `CompletableFuture<Void>` | SubmissionPublisher.`consume​(Consumer<? super T> consumer)` | Processes all published items using the given Consumer function.
    `void` | ArrayBlockingQueue.`forEach​(Consumer<? super E> action)` |
    `<U> void` | ConcurrentHashMap.`forEach​(long parallelismThreshold, BiFunction<? super K,​? super V,​? extends U> transformer, Consumer<? super U> action)` | Performs the given action for each non-null transformation of each (key, value).
    `void` | ConcurrentLinkedDeque.`forEach​(Consumer<? super E> action)` |
    `void` | ConcurrentLinkedQueue.`forEach​(Consumer<? super E> action)` |
    `void` | CopyOnWriteArrayList.`forEach​(Consumer<? super E> action)` |
    `void` | CopyOnWriteArraySet.`forEach​(Consumer<? super E> action)` |
    `void` | LinkedBlockingDeque.`forEach​(Consumer<? super E> action)` |
    `void` | LinkedBlockingQueue.`forEach​(Consumer<? super E> action)` |
    `void` | LinkedTransferQueue.`forEach​(Consumer<? super E> action)` |
    `void` | PriorityBlockingQueue.`forEach​(Consumer<? super E> action)` |
    `void` | ConcurrentHashMap.`forEachEntry​(long parallelismThreshold, Consumer<? super Map.Entry<K,​V>> action)` | Performs the given action for each entry.
    `<U> void` | ConcurrentHashMap.`forEachEntry​(long parallelismThreshold, Function<Map.Entry<K,​V>,​? extends U> transformer, Consumer<? super U> action)` | Performs the given action for each non-null transformation of each entry.
    `void` | ConcurrentHashMap.`forEachKey​(long parallelismThreshold, Consumer<? super K> action)` | Performs the given action for each key.
    `<U> void` | ConcurrentHashMap.`forEachKey​(long parallelismThreshold, Function<? super K,​? extends U> transformer, Consumer<? super U> action)` | Performs the given action for each non-null transformation of each key.
    `void` | ConcurrentHashMap.`forEachValue​(long parallelismThreshold, Consumer<? super V> action)` | Performs the given action for each value.
    `<U> void` | ConcurrentHashMap.`forEachValue​(long parallelismThreshold, Function<? super V,​? extends U> transformer, Consumer<? super U> action)` | Performs the given action for each non-null transformation of each value.
    `CompletionStage<Void>` | CompletionStage.`thenAccept​(Consumer<? super T> action)` | Returns a new CompletionStage that, when this stage completes normally, is executed with this stage's result as the argument to the supplied action.
    `CompletionStage<Void>` | CompletionStage.`thenAcceptAsync​(Consumer<? super T> action)` | Returns a new CompletionStage that, when this stage completes normally, is executed using this stage's default asynchronous execution facility, with this stage's result as the argument to the supplied action.
    `CompletionStage<Void>` | CompletionStage.`thenAcceptAsync​(Consumer<? super T> action, Executor executor)` | Returns a new CompletionStage that, when this stage completes normally, is executed using the supplied Executor, with this stage's result as the argument to the supplied action.

  - ### Uses of Consumer in java.util.function

    Methods in java.util.function that return Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `default Consumer<T>` | Consumer.`andThen​(Consumer<? super T> after)` | Returns a composed `Consumer` that performs, in sequence, this operation followed by the `after` operation.

    Methods in java.util.function with parameters of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `default Consumer<T>` | Consumer.`andThen​(Consumer<? super T> after)` | Returns a composed `Consumer` that performs, in sequence, this operation followed by the `after` operation.

  - ### Uses of Consumer in java.util.stream

    Subinterfaces of Consumer in java.util.stream
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static interface` | `Stream.Builder<T>` | A mutable builder for a `Stream`.

    Methods in java.util.stream with parameters of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Stream.`forEach​(Consumer<? super T> action)` | Performs an action for each element of this stream.
    `void` | Stream.`forEachOrdered​(Consumer<? super T> action)` | Performs an action for each element of this stream, in the encounter order of the stream if the stream has a defined encounter order.
    `Stream<T>` | Stream.`peek​(Consumer<? super T> action)` | Returns a stream consisting of the elements of this stream, additionally performing the provided action on each element as elements are consumed from the resulting stream.

  - ### Uses of Consumer in jdk.jshell

    Methods in jdk.jshell with parameters of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `JShell.Subscription` | JShell.`onShutdown​(Consumer<JShell> listener)` | Register a callback to be called when this JShell instance terminates.
    `JShell.Subscription` | JShell.`onSnippetEvent​(Consumer<SnippetEvent> listener)` | Register a callback to be called when the Status of a snippet changes.

  - ### Uses of Consumer in jdk.jshell.execution

    Methods in jdk.jshell.execution with parameters of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | Util.`detectJdiExitEvent​(VirtualMachine vm, Consumer<String> unbiddenExitHandler)` | Monitor the JDI event stream for `VMDeathEvent` and `VMDisconnectEvent`.

    Method parameters in jdk.jshell.execution with type arguments of type Consumer
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | Util.`forwardExecutionControlAndIO​(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String,​Consumer<OutputStream>> outputStreamMap, Map<String,​Consumer<InputStream>> inputStreamMap)` | Forward commands from the input to the specified `ExecutionControl` instance, then responses back on the output.