将列表流式传输到一个集合中

2022-09-01 00:02:02

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

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

用:Collectors.toSet

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

答案 2