stream 里面的 Collectors.toMap 用法

来源:互联网 发布:索尼淘宝授权店真假 编辑:程序博客网 时间:2024/04/27 19:15


第一步:

package test;public class Person {private Integer id;private String name;public Person(Integer id, String name) {this.id = id;this.name = name;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}


第二步:

package test;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.function.Function;import java.util.stream.Collectors;import java.util.stream.Stream;public class Test {public static void main(String[] args) {List<Person> list = new ArrayList();list.add(new Person(1, "haha"));list.add(new Person(2, "rere"));list.add(new Person(3, "fefe"));Map<Integer, Person> mapp = list.stream().collect(Collectors.toMap(Person::getId, Function.identity()));System.out.println(mapp);System.out.println(mapp.get(1).getName());Map<Integer, String> map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName));System.out.println(map);}}

得到的结果:

{1=test.Person@4b9385, 2=test.Person@1311334, 3=test.Person@2a0b20}

haha

{1=haha, 2=rere, 3=fefe}