Java 8 - 转换列表的最佳方法:map还是foreach?
2022-08-31 05:43:28
我有一个列表,我想在其中过滤元素并对每个元素应用一种方法,然后将结果添加到另一个列表中 。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());