diff --git a/5-0-functional-programming/5-1-1-crazy-lambdas/src/main/java/com/bobocode/fp/CrazyLambdas.java b/5-0-functional-programming/5-1-1-crazy-lambdas/src/main/java/com/bobocode/fp/CrazyLambdas.java index 86812db51..6345d14fa 100644 --- a/5-0-functional-programming/5-1-1-crazy-lambdas/src/main/java/com/bobocode/fp/CrazyLambdas.java +++ b/5-0-functional-programming/5-1-1-crazy-lambdas/src/main/java/com/bobocode/fp/CrazyLambdas.java @@ -265,7 +265,7 @@ public static BiFunction<Map<String, IntUnaryOperator>, String, IntUnaryOperator * @return a comparator instance */ public static <T, U extends Comparable<? super U>> Comparator<T> comparing(Function<? super T, ? extends U> mapper) { - return (o1, o2) -> mapper.apply(o1).compareTo(mapper.apply(o2)); + return Comparator.comparing(mapper); } /** @@ -285,13 +285,7 @@ public static <T, U extends Comparable<? super U>> Comparator<T> comparing(Funct */ public static <T, U extends Comparable<? super U>> Comparator<T> thenComparing( Comparator<? super T> comparator, Function<? super T, ? extends U> mapper) { - return (o1, o2) -> { - var initialResult = comparator.compare(o1, o2); - if (initialResult != 0) { - return initialResult; - } - return mapper.apply(o1).compareTo(mapper.apply(o2)); - }; + return (o1,o2) -> comparator.compare(o1,o2) == 0 ? mapper.apply(o1).compareTo(mapper.apply(o2)) : comparator.compare(o1,o2); } /**