介绍:
1、Collectors.toMap()是Java8引入的流特性,可以把集合转换为Map集合,转换对象中的key不可重复,重复会报错
2、如果key重复,可以使用合并函数来取其默认值,避免报错
使用:
一、key不重复场景
1、数据集合准备
List<PersonDto> objects = ListUtil.toList(
new PersonDto(1L, "张三", "北京", 25),
new PersonDto(2L, "李四", "上海", 26),
new PersonDto(3L, "王五", "广州", 28),
new PersonDto(4L, "赵六", "深圳", 32),
new PersonDto(5L, "孙七", "香港", 35)
);
2、List转Map,id作为key,name作为value,id不可重复
Map<Long, String> collect = objects.stream().collect(Collectors.toMap(PersonDto::getId, PersonDto::getUserName));
System.out.println("collect = " + collect);</