Group by field name in Java

前端 未结 7 1867
迷失自我
迷失自我 2020-12-01 05:35

I\'m trying to group Java objects by their field, i.e Person.java

public class Person {
    String name;
    String surname;
    ....
}
7条回答
  •  猫巷女王i
    2020-12-01 06:18

    There's probably a library that can do this more simply, but it's not too hard to do it manually:

    List allPeople; // your list of all people
    Map> map = new HashMap>();
    for (Person person : allPeople) {
       String key = person.getName();
       if (map.get(key) == null) {
          map.put(key, new ArrayList());
       }
       map.get(key).add(person);
    }
    
    List davids = map.get("David");
    

提交回复
热议问题