これらのクラスを想像してください
class Subject {
private int id;
private Type type;
private String origin;
private String name;
Subject(int id, Type type, String origin, String name) {
this.id = id;
this.type = type;
this.origin = origin;
this.name = name;
}
// Getters and Setters
}
enum Type {
TYPE1,
TYPE2
}
それらのサブジェクトクラスのリストがあります
List<Subject> subjects = Arrays.asList(
new Subject(1, Type.TYPE1, "South", "Oscar"),
new Subject(2, Type.TYPE2, "South", "Robert"),
new Subject(3, Type.TYPE2, "North", "Dan"),
new Subject(4, Type.TYPE2, "South", "Gary"));
最初にオブジェクトをグループ化し、次にグループ化しCollectors.groupingBy()
たマップを使用した結果として取得したいと思いますSubject
Subject.origin
Subject.type
結果としてこのようなオブジェクトを取得するMap<String, Map<Type, List<Subject>>>