
Untitled
By: a guest on
Jun 26th, 2012 | syntax:
None | size: 0.89 KB | hits: 13 | expires: Never
Group by field name in java
public class Person{
String name;
String surname;
....
}
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");
void addPerson(Person p, Map<String, List<Person>> map){
ArrayList<Person> lst = map.get(p.name);
if(lst == null){
lst = new ArrayList<Person>();
}
lst.add(p);
map.put(p.name, lst);
}
...
for(Person p:personsCollection>){
addPerson(p, map);
}
class Person (val name: String, val surname: String ="Smith")
val li = List (new Person ("David"), new Person ("Joe"), new Person ("Sue"), new Person ("David", "Miller"))
li.groupBy (_.name)