【发布时间】:2015-12-13 00:17:25
【问题描述】:
我希望重构我在某些代码中使用流的方式。第一个例子是我目前是如何做到的。第二个例子是我试图让它看起来像什么。
Set<String> results = new HashSet<String>();
someDao.findByType(type)
.stream()
.forEach(t-> result.add(t.getSomeMethodValue()) );
它看起来像这样吗?如果是这样,我该怎么做?
Set<String> results = someDao.findByType(type)
.stream()
.collect( /* ?? no sure what to put here */ );
【问题讨论】:
-
您需要先映射 Stream 元素,然后再将它们收集到 Set 中。
someDao.findByType(type) .stream().map(TheClass::getValue).collect(toSet());
标签: java collections lambda java-8 java-stream