从集合List对象中抽取两种属性转Map

集合List<对象>中抽取两种属性转Map

Map<Integer, String> map = data.stream().collect(Collectors.toMap(Person::getAge, Person::getName));

注意,若果有两个对象属性一样会报错,IllegalStateException: Duplicate key xxx,key key重复了
需要处理重复key:

Map<Integer, String> map = data.stream().collect(Collectors.toMap(Person::getAge, Person::getName,(value1, value2 )->{ 
            return value2; 
	}));

这里的解决key重复的方案是碰到两个一样的使用第二个,这里可以灵活处理。

猜你喜欢

转载自blog.csdn.net/ElendaLee/article/details/127321390