Java中按字段名称分组

问题描述

可能有一个库可以更简单地执行此操作,但是手动执行该操作并不难:

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

List<Person> davids = map.get("David");

解决方法

我正在尝试按其字段(即 Person.java) 对Java对象进行分组 __

public class Person {
    String name;
    String surname;
    ....
}

因此,如果我有 n个 Person对象,那么将所有人都以“ David”命名的最简单的方法是Map<String,List<Person>> map;

我在Google上发现了此文件(但无法编译),这似乎是我正在寻找的东西:http : //www.anzaan.com/2010/06/grouping-objects-
using-objects-property/