我希望重构一下我在某些代码中使用流的方法。第一个例子是我目前是如何做到的。第二个例子是我试图让它看起来像。
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 */ );
答案 0 :(得分:52)
使用Collectors.toSet
:
Set<String> results = someDao.findByType(type)
.stream()
.map(ClassName::getValue)
.collect(Collectors.toSet());