美文网首页CWIKIUS
Java 8 使用 Stream 把 List 转换为 map

Java 8 使用 Stream 把 List 转换为 map

作者: HoneyMoose | 来源:发表于2023-01-13 19:31 被阅读0次

    有这么一个小需求,有 2 个 List,但是我们希望返回 Map。

    List 1 的数据到大于 List 2 中的数据。

    返回 List1 的 map,如果 List 中的数据在 List 2 中存在的话,Map 的值是 True,如果不存在的话,是 False。

    List1 和 List2 中的元素都是整数。

    Stream

    我们使用了 Java 提供的 Stream,当然你也可以用 For 循环。

    下面的 map1 和 map 2 是等价的。

    List<Integer>reqIds=Arrays.asList(1,2);        List<Integer>reqs=Arrays.asList(1);        Map<Integer,Boolean>map1=reqIds.stream().collect(Collectors.toMap(Function.identity(), item->reqs.contains(item)));        Map<Integer,Boolean>map2=reqIds.stream().collect(Collectors.toMap(Function.identity(), reqs::contains));        log.debug("Map Size {}",map2);

    然后验证下结果。

    https://www.ossez.com/t/java-8-stream-list-map/14296

    相关文章

      网友评论

        本文标题:Java 8 使用 Stream 把 List 转换为 map

        本文链接:https://www.haomeiwen.com/subject/xtuwcdtx.html