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

- Packages that use LongBinaryOperator
  Package | Description
  --- | ---
  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.concurrent.atomic | A small toolkit of classes that support lock-free thread-safe programming on single variables.
  java.util.stream | Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections.

- - ### Uses of LongBinaryOperator in java.util

    Methods in java.util with parameters of type LongBinaryOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | Arrays.`parallelPrefix​(long[] array, int fromIndex, int toIndex, LongBinaryOperator op)` | Performs `Arrays.parallelPrefix(long[], LongBinaryOperator)` for the given subrange of the array.
    `static void` | Arrays.`parallelPrefix​(long[] array, LongBinaryOperator op)` | Cumulates, in parallel, each element of the given array in place, using the supplied function.

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

    Methods in java.util.concurrent with parameters of type LongBinaryOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | ConcurrentHashMap.`reduceEntriesToLong​(long parallelismThreshold, ToLongFunction<Map.Entry<K,​V>> transformer, long basis, LongBinaryOperator reducer)` | Returns the result of accumulating the given transformation of all entries using the given reducer to combine values, and the given basis as an identity value.
    `long` | ConcurrentHashMap.`reduceKeysToLong​(long parallelismThreshold, ToLongFunction<? super K> transformer, long basis, LongBinaryOperator reducer)` | Returns the result of accumulating the given transformation of all keys using the given reducer to combine values, and the given basis as an identity value.
    `long` | ConcurrentHashMap.`reduceToLong​(long parallelismThreshold, ToLongBiFunction<? super K,​? super V> transformer, long basis, LongBinaryOperator reducer)` | Returns the result of accumulating the given transformation of all (key, value) pairs using the given reducer to combine values, and the given basis as an identity value.
    `long` | ConcurrentHashMap.`reduceValuesToLong​(long parallelismThreshold, ToLongFunction<? super V> transformer, long basis, LongBinaryOperator reducer)` | Returns the result of accumulating the given transformation of all values using the given reducer to combine values, and the given basis as an identity value.

  - ### Uses of LongBinaryOperator in java.util.concurrent.atomic

    Methods in java.util.concurrent.atomic with parameters of type LongBinaryOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | AtomicLong.`accumulateAndGet​(long x, LongBinaryOperator accumulatorFunction)` | Atomically updates (with memory effects as specified by `VarHandle.compareAndSet(java.lang.Object...)`) the current value with the results of applying the given function to the current and given values, returning the updated value.
    `long` | AtomicLongArray.`accumulateAndGet​(int i, long x, LongBinaryOperator accumulatorFunction)` | Atomically updates (with memory effects as specified by `VarHandle.compareAndSet(java.lang.Object...)`) the element at index `i` with the results of applying the given function to the current and given values, returning the updated value.
    `long` | AtomicLongFieldUpdater.`accumulateAndGet​(T obj, long x, LongBinaryOperator accumulatorFunction)` | Atomically updates (with memory effects as specified by `VarHandle.compareAndSet(java.lang.Object...)`) the field of the given object managed by this updater with the results of applying the given function to the current and given values, returning the updated value.
    `long` | AtomicLong.`getAndAccumulate​(long x, LongBinaryOperator accumulatorFunction)` | Atomically updates (with memory effects as specified by `VarHandle.compareAndSet(java.lang.Object...)`) the current value with the results of applying the given function to the current and given values, returning the previous value.
    `long` | AtomicLongArray.`getAndAccumulate​(int i, long x, LongBinaryOperator accumulatorFunction)` | Atomically updates (with memory effects as specified by `VarHandle.compareAndSet(java.lang.Object...)`) the element at index `i` with the results of applying the given function to the current and given values, returning the previous value.
    `long` | AtomicLongFieldUpdater.`getAndAccumulate​(T obj, long x, LongBinaryOperator accumulatorFunction)` | Atomically updates (with memory effects as specified by `VarHandle.compareAndSet(java.lang.Object...)`) the field of the given object managed by this updater with the results of applying the given function to the current and given values, returning the previous value.

    Constructors in java.util.concurrent.atomic with parameters of type LongBinaryOperator
    Constructor | Description
    --- | ---
    `LongAccumulator​(LongBinaryOperator accumulatorFunction, long identity)` | Creates a new instance using the given accumulator function and identity element.

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

    Methods in java.util.stream with parameters of type LongBinaryOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | LongStream.`reduce​(long identity, LongBinaryOperator op)` | Performs a reduction on the elements of this stream, using the provided identity value and an associative accumulation function, and returns the reduced value.
    `OptionalLong` | LongStream.`reduce​(LongBinaryOperator op)` | Performs a reduction on the elements of this stream, using an associative accumulation function, and returns an `OptionalLong` describing the reduced value, if any.