Java-Stream是Java 8引入的一个功能强大的流式处理API,它提供了一种更简洁、更高效的方式来处理集合数据。Java-Stream可以用于对集合进行过滤、映射、排序、聚合等操作,使得代码更加简洁易读。
具有重复键的toMap是Java-Stream中的一个方法,用于将流中的元素转换为一个Map对象。当流中的元素存在重复键时,toMap方法提供了解决冲突的方式。
toMap方法的语法如下:
toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction)
参数说明:
使用示例:
List<Person> persons = Arrays.asList(
new Person("Alice", 20),
new Person("Bob", 25),
new Person("Alice", 30)
);
Map<String, Integer> personMap = persons.stream()
.collect(Collectors.toMap(Person::getName, Person::getAge, (age1, age2) -> age1));
System.out.println(personMap);
输出结果:
{Alice=20, Bob=25}
在上述示例中,我们有一个Person类,包含姓名和年龄两个属性。我们将一个包含重复姓名的Person对象列表转换为一个Map对象,以姓名作为键,年龄作为值。当存在重复键时,我们使用mergeFunction来选择保留较小的年龄。
推荐的腾讯云相关产品:
领取专属 10元无门槛券
手把手带您无忧上云