Java8使用流从类对象中提取多个字段

Pan*_*hal 7 java lambda java-8 java-stream

我有一个包含多个字段Listclass A对象,包括number1number2其他各种字段.

我想从via java 8中提取所有唯一值number1number2值.List<A>Stream

map功能帮助我只获得如下所示的1个字段:

list.stream().map(A::getNumber1);
Run Code Online (Sandbox Code Playgroud)

在执行上述代码之后,无法提取number2.我怎样才能做到这一点?

Era*_*ran 11

您可以使用flatMap以下方法提取两者:

list.stream().flatMap(a -> Stream.of(a.getNumber1(),a.getNumber2())).distinct()...
Run Code Online (Sandbox Code Playgroud)