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

- Packages that use ToDoubleFunction
  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.stream | Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections.

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

    Methods in java.util with parameters of type ToDoubleFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T> Comparator<T>` | Comparator.`comparingDouble​(ToDoubleFunction<? super T> keyExtractor)` | Accepts a function that extracts a `double` sort key from a type `T`, and returns a `Comparator<T>` that compares by that sort key.
    `default Comparator<T>` | Comparator.`thenComparingDouble​(ToDoubleFunction<? super T> keyExtractor)` | Returns a lexicographic-order comparator with a function that extracts a `double` sort key.

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

    Methods in java.util.concurrent with parameters of type ToDoubleFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `double` | ConcurrentHashMap.`reduceEntriesToDouble​(long parallelismThreshold, ToDoubleFunction<Map.Entry<K,​V>> transformer, double basis, DoubleBinaryOperator 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.
    `double` | ConcurrentHashMap.`reduceKeysToDouble​(long parallelismThreshold, ToDoubleFunction<? super K> transformer, double basis, DoubleBinaryOperator 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.
    `double` | ConcurrentHashMap.`reduceValuesToDouble​(long parallelismThreshold, ToDoubleFunction<? super V> transformer, double basis, DoubleBinaryOperator 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 ToDoubleFunction in java.util.stream

    Methods in java.util.stream with parameters of type ToDoubleFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T> Collector<T,​?,​Double>` | Collectors.`averagingDouble​(ToDoubleFunction<? super T> mapper)` | Returns a `Collector` that produces the arithmetic mean of a double-valued function applied to the input elements.
    `DoubleStream` | Stream.`mapToDouble​(ToDoubleFunction<? super T> mapper)` | Returns a `DoubleStream` consisting of the results of applying the given function to the elements of this stream.
    `static <T> Collector<T,​?,​DoubleSummaryStatistics>` | Collectors.`summarizingDouble​(ToDoubleFunction<? super T> mapper)` | Returns a `Collector` which applies an `double`-producing mapping function to each input element, and returns summary statistics for the resulting values.
    `static <T> Collector<T,​?,​Double>` | Collectors.`summingDouble​(ToDoubleFunction<? super T> mapper)` | Returns a `Collector` that produces the sum of a double-valued function applied to the input elements.