Eni*_*iss 3 java list java-stream
我正在尝试将Java 8功能用于我的嵌套列表.
我有一个对象列表.该对象具有列表字段.我需要获取该列表的值并将其添加到另一个列表中.
List<String> strings = new ArrayList<>();
strings.add("s1");
strings.add("s2");
List<Foo> foos = new ArrayList<>();
foos.add(new Foo(strings));
Run Code Online (Sandbox Code Playgroud)
我推出了这种方法
foos.stream().map(Foo::getStrings).collect(Collectors.toList());
如果我像这样设置我的新列表,这种方法有效:
List<List<String>> newList = foos.stream().map(Foo::getStrings).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我想有一个newList像这样的:
List<String> newList = ....;那么s1,s2从strings列表将被所示newList.
And*_*ner 10
使用flatMap.更换:
.map(Foo::getStrings)
Run Code Online (Sandbox Code Playgroud)
同
.flatMap(f -> f.getStrings().stream())
Run Code Online (Sandbox Code Playgroud)
要么
.map(Foo::getStrings).flatMap(Collection::stream)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |