我想知道平面映射的两种情况之间是否有任何显着差异。
案例1:
someCollection
.stream()
.map(CollectionElement::getAnotherCollection)
.flatMap(Collection::stream);案例2:
someCollection
.stream()
.flatMap(element -> element.getAnotherCollection().stream());哪一个应该更好?就性能而言,这些产品中是否有更好的?
发布于 2018-07-31 03:55:37
哪个应该是首选的?
区别是如此的表面化,这取决于你和你的团队-选择一个你觉得更舒服的。我倾向于第二种选择,它更简洁。
在性能方面有更好的表现吗?
从时间复杂性的角度来看,没有。第一个示例涉及创建一些不必要的对象,因此第二个是更合理的选择。但是,请记住,我们在这里讨论的是微优化。
https://stackoverflow.com/questions/51601327
复制相似问题