Fos*_*san 2 java java-stream flatmap
我想知道两种平面图之间是否存在任何显着差异.
情况1:
someCollection
.stream()
.map(CollectionElement::getAnotherCollection)
.flatMap(Collection::stream);
Run Code Online (Sandbox Code Playgroud)
案例2:
someCollection
.stream()
.flatMap(element -> element.getAnotherCollection().stream());
Run Code Online (Sandbox Code Playgroud)
应该首选哪一个?在性能方面有哪些更好?
应该首选哪一个?
不同之处在于它取决于您和您的团队 - 选择您感觉更舒服的那个.我会选择第二种选择,它更简洁.
在性能方面有哪些更好?
从时间复杂的角度来看,没有.第一个例子涉及创建一些不必要的对象,因此第二个例子是更合理的选择.但是,请记住,我们在这里讨论的是微优化.