java8 stream to map_java8 stream colloctors的toMap用法
发布日期:2021-06-24 11:34:03 浏览次数:2 分类:技术文章

本文共 885 字,大约阅读时间需要 2 分钟。

toMap提供三个参数

keyMapper

valueMapper

mergeFunction: BinaryOperator

其中mergeFunction是解决当key相同时,取哪个value的问题,由返回值指定,当返回null时,从map中移除当前entry

package stream;

import java.util.*;

import java.util.function.Function;

import java.util.stream.Collectors;

import static java.util.stream.Collectors.toSet;

public class ToMap {

public static void main(String[] args) {

List duplicateList = Arrays.asList("a", "bb", "c", "d", "bb");

Map map = duplicateList

.stream()

.collect(

Collectors.toMap(

Function.identity(),

s -> {

return s.length() + " " + (new Random()).nextInt();

},

(preItem, nextItem) -> {

System.out.println("item" + preItem + " curItem: " + nextItem);

return nextItem;

}

)

);

System.out.println(map);

List givenList = Arrays.asList("a", "bb", "dd", "ccc");

Map> groupList = givenList

.stream()

.collect(Collectors.groupingBy(

String::length,

toSet()

));

System.out.println(groupList);

}

}

转载地址:https://blog.csdn.net/weixin_32541333/article/details/114425660 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java equal 区别_Java中“==”与“equal()”的区别。
下一篇:grpc java_grpc java入门教程

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月21日 10时58分13秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章