给一个班级
public class MyClass {
public int langId;
public int sectionId;
}
Run Code Online (Sandbox Code Playgroud)
如果我有一个映射将LangId映射到具有该LangId的MyClass的所有实例:
Map<Integer, List<MyClass>> mapLangIdToListOfMyClass = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
使用Java 8流,是否有一种简单的方法来使用前一个Map并创建一个新的Map,它将SectionId映射到具有SectionId的MyClass的所有实例:
Map<Integer, List<MyClass>> mapSectionIdToListOfMyClass = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
我想你能做到
Map<Integer, List<MyClass>> mapSectionIdToListOfMyClass = mapLangIdToListOfMyClass
.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.groupingBy(j -> j.sectionId));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4348 次 |
| 最近记录: |