8
Java 8-转换列表的最佳方法:map或foreach?
我有一个列表myListToParse,我想在其中过滤元素并在每个元素上应用方法,然后将结果添加到另一个列表中myFinalList。 使用Java 8,我注意到可以用2种不同的方式来做到这一点。我想知道它们之间更有效的方法,并理解为什么一种方法比另一种更好。 我愿意就第三种方式提出任何建议。 方法1: myFinalList = new ArrayList<>(); myListToParse.stream() .filter(elt -> elt != null) .forEach(elt -> myFinalList.add(doSomething(elt))); 方法2: myFinalList = myListToParse.stream() .filter(elt -> elt != null) .map(elt -> doSomething(elt)) .collect(Collectors.toList());
188
java
java-8
java-stream