我有一个队友,他在一次Foreach执行中完成了所有的流操作.我试图找出使用Filter、map和to list方法的优点.
除了可读性之外,它还有什么其他优势(可以说,Foreach也非常易读) 以下是与他的所作所为相似的内容的片段:
List<Integer> firstInts = new ArrayList<>();
List<Integer> secondInts = new ArrayList<>();
List<Integer> numbersList = IntStream.range(0, max).boxed().toList();
//his stream
numbersList.stream()
.forEach(i -> {
if(i % 6 != 0) {
return;
}
secondInts.add(i);
});
//alternative 1
numbersList.stream()
.filter(i -> i % 6 == 0)
.forEach(firstInts::add);
//alternative 2
List<Integer> third = numbersList.stream()
.filter(i -> i % 6 == 0)
.toList();
除了可读性之外,使用流方法的动机是什么?