流列表成一组

时间:2015-09-16 12:05:36

标签: java collections lambda java-8 java-stream

我希望重构一下我在某些代码中使用流的方法。第一个例子是我目前是如何做到的。第二个例子是我试图让它看起来像。

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  */ );

1 个答案:

答案 0 :(得分:52)

使用Collectors.toSet

Set<String> results = someDao.findByType(type)
        .stream()
        .map(ClassName::getValue)
        .collect(Collectors.toSet());