ArrayList<Person> list = new ArrayList<>();
list.add(new Person("a", 1));
list.add(new Person("b", 12));
list.add(new Person("c", 3));
Map<String, Integer> map = list.stream().collect(Collectors.toMap(new Function<Person, String>() {
@Override
public String apply(Person person) {
return person.name;
}
}, new Function<Person, Integer>() {
@Override
public Integer apply(Person person) {
return person.age;
}
}));
for (String s : map.keySet()) {
System.out.println(s + "--" + map.get(s));
}
}
lambda表达式写法
Map<String, Integer> map2 = list.stream().collect(Collectors.toMap(person -> person.name, person -> person.age));
for (String s : map2.keySet()) {
System.out.println(s + "--" + map2.get(s));
}