@Override public final Optional<P_OUT> max(Comparator<? super P_OUT> comparator) { return reduce(BinaryOperators.maxBy(comparator)); }
@Override public final Optional<P_OUT> min(Comparator<? super P_OUT> comparator) { return reduce(BinaryOperators.minBy(comparator)); }
@Override public final Optional<P_OUT> min(Comparator<? super P_OUT> comparator) { return reduce(BinaryOperators.minBy(comparator)); }
@Override public final Optional<P_OUT> max(Comparator<? super P_OUT> comparator) { return reduce(BinaryOperators.maxBy(comparator)); }
/** * Returns a {@code Collector} that produces the minimal element according * to a given {@code Comparator}, described as an {@code Optional<T>}. * * <p><b>Implementation Requirements:</b><br> * This produces a result equivalent to: * <pre>{@code * reducing(BinaryOperator.minBy(comparator)) * }</pre> * * @param <T> the type of the input elements * @param comparator a {@code Comparator} for comparing elements * @return a {@code Collector} that produces the minimal value */ public static <T> Collector<T, ?, Optional<T>> minBy(Comparator<? super T> comparator) { return reducing(BinaryOperators.minBy(comparator)); }
/** * Returns a {@code Collector} that produces the maximal element according * to a given {@code Comparator}, described as an {@code Optional<T>}. * * <p><b>Implementation Requirements:</b><br> * This produces a result equivalent to: * <pre>{@code * reducing(BinaryOperator.maxBy(comparator)) * }</pre> * * @param <T> the type of the input elements * @param comparator a {@code Comparator} for comparing elements * @return a {@code Collector} that produces the maximal value */ public static <T> Collector<T, ?, Optional<T>> maxBy(Comparator<? super T> comparator) { return reducing(BinaryOperators.maxBy(comparator)); }
/** * Returns a {@code Collector} that produces the minimal element according * to a given {@code Comparator}, described as an {@code Optional<T>}. * * <p><b>Implementation Requirements:</b><br> * This produces a result equivalent to: * <pre>{@code * reducing(BinaryOperator.minBy(comparator)) * }</pre> * * @param <T> the type of the input elements * @param comparator a {@code Comparator} for comparing elements * @return a {@code Collector} that produces the minimal value */ public static <T> Collector<T, ?, Optional<T>> minBy(Comparator<? super T> comparator) { return reducing(BinaryOperators.minBy(comparator)); }
/** * Returns a {@code Collector} that produces the maximal element according * to a given {@code Comparator}, described as an {@code Optional<T>}. * * <p><b>Implementation Requirements:</b><br> * This produces a result equivalent to: * <pre>{@code * reducing(BinaryOperator.maxBy(comparator)) * }</pre> * * @param <T> the type of the input elements * @param comparator a {@code Comparator} for comparing elements * @return a {@code Collector} that produces the maximal value */ public static <T> Collector<T, ?, Optional<T>> maxBy(Comparator<? super T> comparator) { return reducing(BinaryOperators.maxBy(comparator)); }