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>() {@Overridepublic String apply(Person person) {return person.name;}}, new Function<Person, Integer>() {@Overridepublic 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));}
