Java 将列表流到一个集合中
我希望重构我在一些代码中使用流的方式。第一个例子是我目前是如何做到这一点的。第二个例子是我想让它看起来像什么Java 将列表流到一个集合中,java,collections,lambda,java-8,java-stream,Java,Collections,Lambda,Java 8,Java Stream,我希望重构我在一些代码中使用流的方式。第一个例子是我目前是如何做到这一点的。第二个例子是我想让它看起来像什么 Set<String> results = new HashSet<String>(); someDao.findByType(type) .stream() .forEach(t-> result.add(t.getSomeMethodValue()) ); Set results=new HashSet
Set<String> results = new HashSet<String>();
someDao.findByType(type)
.stream()
.forEach(t-> result.add(t.getSomeMethodValue()) );
Set results=new HashSet();
someDao.findByType(类型)
.stream()
.forEach(t->result.add(t.getSomeMethodValue());
它看起来像这样吗?如果是这样的话,我该怎么做
Set<String> results = someDao.findByType(type)
.stream()
.collect( /* ?? no sure what to put here */ );
Set results=someDao.findByType(类型)
.stream()
.收集(/*?不确定放在这里的是什么*/);
使用收集器。toSet
:
Set<String> results = someDao.findByType(type)
.stream()
.map(ClassName::getValue)
.collect(Collectors.toSet());
Set results=someDao.findByType(类型)
.stream()
.map(类名::getValue)
.collect(收集器.toSet());
在将流元素收集到集合中之前,需要映射流元素<代码>someDao.findByType(type).stream().map(类::getValue).collect(toSet())代码>