Student Student2 = new Student();
Student2.setId(2L);
Student2.setAge("13");
StudentList.add(Student1);
StudentList.add(Student2);
Map<Long, Student> maps = Maps.uniqueIndex(StudentList,
new Function<Student, Long>() {
@Override
public Long apply(Student student) {
return student.getId();
}
});
System.out.println(maps);
}
}
文章插图
2测试成果如下所示:
文章插图
第三种:利用JDK1.8 将list调集转map1将一个对象作为value放入map中
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class ListToMap {
public static void main(String[] args) {
List<Student> StudentList = new ArrayList<Student>();
Student Student1 = new Student();
Student1.setId(1L);
Student1.setAge("12");
Student Student2 = new Student();
Student2.setId(2L);
Student2.setAge("13");
Student Student3 = new Student();
Student3.setId(2L);
Student3.setAge("14");
StudentList.add(Student1);
StudentList.add(Student2);
StudentList.add(Student3);
/**
* List -> Map
* 需要注重的是:
* toMap 若是调集对象有反复的key , 会报错Duplicate key ....
* apple1,apple12的id都为1 。
* 可以用 (k1,k2)->k1 来设置 , 若是有反复的key,则保留key1,舍弃key2
* 或者可以用 (k1,k2)->k2 来设置 , 若是有反复的key,则保留key2,舍弃key1
*/
Map<Long, Student> maps = StudentList.stream().collect(Collectors.toMap(Student::getId,Function.identity(), (v1,v2)->v1));
System.out.println(maps);
}
}
文章插图
2将一个对象的属性作为value
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class ListToMap {
public static void main(String[] args) {
List<Student> StudentList = new ArrayList<Student>();
Student Student1 = new Student();
Student1.setId(1L);
Student1.setAge("12");
推荐阅读
- 狗咬尾巴转圈是什么原因
- 支付宝转帐时显示帐户不存在或设置了隐私保护
- 转载 【分享】消防安全知识:防火九注意!多看点有好处
- 转载 夏季家庭安全用电的十个常识
- 转载 单县教育局、消防大队联合举办消防安全知识讲座
- 转载 油库消防安全管理知识
- 红灯亮了能不能右转 交通灯到底要怎么看
- 一分钟玩转QQ看点新功能
- 如何在闲鱼发布闲置物品转让信息
- 微信转账记录删除了怎么查询