使用方法参考查找最大的INT元素



我只是在学习lambda表达式和流((。我必须为一个名为 ProgTetelek的类编写一种方法,该类别找到列表元素的最大值。限制是:我必须避免使用forif关键字,add()方法和嵌套类,但我必须使用stream()和方法参考。该方法的返回类型应是可选的。有人知道如何解决它吗?也欢迎解决方案和良好的教程:(

最简单的解决方案就是这样,但不使用方法参考...

public class Progtetelek {
    public static Optional<Integer> getMax(List<Integer> lista) {
        return lista.stream()
                .max(Comparator.comparing(i -> i));
    }
}

该方法的规定呼叫是

List<Integer> lista = new ArrayList<Integer>();
lista.addAll(Arrays.asList(1, 5, 8, 7, 34, 23, 11, 84, 56));
System.out.println("Legnagyobb elem: " + ProgTetelek.getMax(lista).get());

您可以使用Integer::compare

public static Optional<Integer> getMax(List<Integer> lista) {
    return lista.stream()
                .max(Integer::compare);
}

最新更新