public static void main(String[] args) {
printSumOfAllNumbersInList(List.of(12,45,34,22,56,65));
printSumOfAllNumbersInListUsingFP(List.of(12,45,34,22,56,65));
}
private static void printSumOfAllNumbersInListUsingFP(List<Integer> list) {
/*
* Learning the use of reduce()
*/
System.out.println(list.stream().reduce(PStructured01::printSum));
}
private static int printSum(int a,int b)
{
int sum = a +b;
return sum;
}
private static void printSumOfAllNumbersInList(List<Integer> list) {
int sum = 0;
for (Integer integer: list) {
sum = sum + integer;
}
System.out.println(sum);
}}
我正在解决用例 - 打印所有列表数字的总和并返回总和。
我尝试使用传统方法,后来又尝试使用函数式方法来解决它。
但在功能方法期间,我得到的值 - 234 是正确的,但作为 - 可选[234]
有人可以解释一下原因吗
我在研究中做了这个,首先认为它有点不理解,但这是一个简单的概念
可选操作 = list.stream().reduce(PStructured01::printSum); op.ifPresent(System.out::println);
OptionalInt.getAsInt()
。你也可以这样做。
List<Integer> list = List.of(12,45,34,22,56,65);
int sum = list.stream().mapToInt(a->a).sum();
System.out.println(sum);
打印234