`
zweichxu
  • 浏览: 134632 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java8中利用stream api将list转成map

阅读更多
Region{
    string: code;
    string: label;
    string: parentCode;
    //set/get 
}
List<Region> cityList= getRegionList();

//转成Map<regionCode, Region>
Map<String, Region> map = cityList.stream().collect(Collectors.toMap(Region::getCode, item->item));
 
或者
Map<String, Region> map = cityList.stream().collect(Collectors.toMap(Region::getCode, Function.identity()));
 
上面两个转换在code重复时会报错,改成:
Map<String, Region> map = cityList.stream().collect(Collectors.toMap(Region::getCode, Function.identity(), (k1, k2)->k2));
 
或者转成指定实现类的map:
Map<String, Region> map = cityList.stream().collect(Collectors.toMap(Region::getCode, Function.identity(), (k1, k2)->k2, LinkedHashMap::new));
 
//分组:转成Map<parentCode, List<Region>>
Map<String, List<Region>> map2 = cityList.stream().collect(Collectors.groupingBy(Region::getParentCode));
 
//分组:转成Map<parentCode, List<regionCode>>
Map<String, List<String>> map3 = cityList.stream().collect(Collectors.groupingBy(Region::getParentCode, Collectors.mapping(Region::getCode, Collectors.toList())));
 
//分组:计算每个parentCode对应的集合元素个数:Map<parentCode, Long>
Map<String, Long> map3 = cityList.stream().collect(Collectors.groupingBy(Region::getParentCode, Collectors.counting()));
 
 
分享到:
评论

相关推荐

    在Java 8中将List转换为Map对象方法

    在Java 8中,将List转换为Map对象是一种非常实用的技术,特别是在处理大规模数据时非常有用。本文将详细介绍在Java 8中将List转换为Map对象的方法,并提供了多种实现方式。 首先,我们需要明确Map的key是什么?在这...

    Java8- Stream API的用法.pdf

    Java 8 中引入的 Stream API 是 Java 开发的一个里程碑式的功能特性,极大的方便了开发人员处理集合类数据的效率。Stream API 使得开发人员可以使用更简洁、易用、快捷的方式来处理集合类数据,而不是传统的 for ...

    java8-Stream API终端操作.pdf

    Java 8 中的 Stream API 提供了强大的数据处理功能,其中的终端操作是指将 Stream 处理结果转换为实际的数据结构。Java Stream 管道流数据处理操作可以分为三个阶段:第一阶段是将集合、数组或文本文件转换为 Java ...

    java使用stream对日期排序

    在Java编程中,Stream API是Java 8引入的一个强大特性,它允许我们以声明性方式处理数据集合。本文将深入探讨如何使用Stream API对日期进行排序。日期排序在数据分析、日志处理、报表生成等场景中非常常见。下面我们...

    JAVA8API-官方文档下载-中文版

    **JAVA8 API 中文官方文档概述** JAVA8 API 是Java开发者的重要参考资料,它详细阐述了Java 8平台的核心类库,包括各种接口、类、枚举和注解等。这份中文版的官方文档使得国内开发者能够更加方便地理解和使用Java 8...

    java8中Stream的使用以及分割list案例

    下面将详细介绍Java8中Stream的使用和分割List案例。 一、Stream的优势 Stream api的优势在于可以配合Lambda表达式极大提高编程效率,代码简洁易懂。使用Stream api可以写出高性能的并发程序,不需要写传统的多...

    05.第五节-使用stream将list转Map集合.mp4

    Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以...

    java8快速实现List转map 、分组、过滤等操作

    Java 8 中提供了许多强大的功能来处理集合数据,包括 List 转 Map、分组、过滤等操作。本文将通过示例代码详细介绍如何使用 Java 8 的新特性来实现这些操作。 List 转 Map 在 Java 8 中,可以使用 Collectors.to...

    java8 API 文档

    Java 8 API 文档是Java开发人员的重要参考资料,它详细阐述了Java 8及更高版本中的各种类库、接口和方法。这个文档包含了Java SE(标准版)8的所有公共API,是理解和使用新特性的关键工具。让我们深入探讨Java 8 API...

    java行转列的例子

    在Java中实现行转列,通常涉及数据结构的转换,如从List&lt;List&lt;String&gt;&gt;转换为List,或者更复杂地,从Map, Object&gt;到自定义对象的集合。以下是一些关键知识点: 1. 数据结构理解: - **List**: Java中的List接口...

    官方版本-Java8-中文版-API(帮助你快速了解Java8新特性)

    以上只是Java 8 API中的一部分核心特性,完整的文档涵盖了更多细节,包括反射、注解处理、类型推断等方面的增强。尽管中文版可能与英文版存在细微差异,但它仍然是学习和查阅Java 8 API的重要参考资料。建议开发者...

    Java的集合框架和StreamAPI

    例如,在一个购物网站中,需要对用户的订单进行处理,可以使用 Java 集合框架的 List 集合来存储订单信息,然后使用 Stream API 的 filter 方法来过滤订单,最后使用 collect 方法将订单收集到一个新的 List 中。...

    基于java8新特性+反射机制实现list不同实体类互转.zip

    这个压缩包文件“基于java8新特性+反射机制实现list不同实体类互转.zip”提供了一种解决方案,它利用了Java 8的新特性和反射机制来实现这种转换,并将这个功能封装为一个工具类。 首先,Java 8引入了许多新特性,...

    Java 8 Stream Api 中的 map和 flatMap 操作方法

    Java 8 Stream Api 中的 map 和 flatMap 操作方法 在 Java 8 中,Stream Api 提供了两个重要的中间操作:map 和 flatMap。这两种操作方法是非常有用的,可以帮助开发者简便地解决一些数据流的操作问题。 map 操作...

    Java8 英文文档 API .zip

    - 在集合操作中,Java 8提供了并行流(Parallel Streams),可以自动利用多核处理器进行并行处理,如`list.parallelStream().collect(Collectors.toList())`。 7. **Nashorn JavaScript引擎**: - Java 8引入了...

    java8 API文档

    在Java 8中,引入了多个重大更新和新特性,旨在提升开发效率和代码质量。以下是一些核心知识点: 1. **lambda表达式**:这是Java 8最显著的特性之一,它提供了简洁的匿名函数写法,使函数式编程风格成为可能。通过...

    如何在java 8 map中使用stream

    Java 8 中使用 Stream 遍历 Map Java 8 中引入了 Stream 概念, Stream 是一种非常强大的功能,可以使我们更加简单的操作 Map 对象。Map 是 Java 中非常常用的一个集合类型,我们通常也需要去遍历 Map 去获取某些值...

    Java8 将List<Integer> 转换成以逗号分割的String字符串

    下面我们将深入探讨如何在Java 8中实现这个功能,并了解相关的重要知识点。 首先,我们需要知道Java 8引入了一种新的集合处理方式——流(Stream)。流提供了一种声明式处理数据的方式,可以方便地进行过滤、映射、...

    Map拆分List拆分

    例如,Java 8引入的Stream API提供了丰富的操作符,可以方便地对Map和List进行拆分。 总的来说,Map拆分和List拆分是大数据处理中的重要技巧,它们有助于优化数据处理的并行性和效率。通过合理地拆分数据,可以充分...

Global site tag (gtag.js) - Google Analytics