https://blog.youkuaiyun.com/jiangpingjiangping/article/details/76474010
第一步:
[java] view plain copy
-
packagetest;
-
publicclassPerson{
-
privateIntegerid;
-
privateStringname;
-
publicPerson(Integerid,Stringname){
-
this.id=id;
-
this.name=name;
-
}
-
publicIntegergetId(){
-
returnid;
-
}
-
publicvoidsetId(Integerid){
-
this.id=id;
-
}
-
publicStringgetName(){
-
returnname;
-
}
-
publicvoidsetName(Stringname){
-
this.name=name;
-
}
-
}
第二步:
[java] view plain copy
-
packagetest;
-
importjava.util.ArrayList;
-
importjava.util.List;
-
importjava.util.Map;
-
importjava.util.function.Function;
-
importjava.util.stream.Collectors;
-
importjava.util.stream.Stream;
-
publicclassTest{
-
publicstaticvoidmain(String[]args){
-
Listlist=newArrayList();
-
list.add(newPerson(1,“haha”));
-
list.add(newPerson(2,“rere”));
-
list.add(newPerson(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}