iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >[Java List类型和Map类型想换转换案例]
  • 535
分享到

[Java List类型和Map类型想换转换案例]

java开发语言 2023-09-11 08:09:09 535人浏览 泡泡鱼
摘要

目录 1. List转Map 2. Map转List 3. List转Map并保留重复Key 4. Map转List并保留Key值 5 简单版 可以通过遍历List,将List中的元素转换为Map中的键值对 6:通过遍历Map,将Map中

目录

1. List转Map

2. Map转List

3. List转Map并保留重复Key

4. Map转List并保留Key值

5 简单版 可以通过遍历List,将List中的元素转换为Map中的键值对

6:通过遍历Map,将Map中的键值对转换为List中的元素

7:使用Java 8的Stream API进行List和Map的转换

8:使用Apache Commons Collections库中的方法进行List和Map的转换


1. List转Map

将List类型的数据转换为Map类型的数据,是一种将数据按照指定的规则进行归类的操作。下面是一种将List类型的学生数据按照姓名进行分组的示例:

List students = new ArrayList<>();// 添加学生数据Map> studentMap = students.stream()        .collect(Collectors.groupingBy(Student::getName));

我们先创建了一个List类型的students数据,然后通过Java 8的Stream api对数据进行分组,得到了一个以学生姓名为Key、以学生对象List为Value的Map类型的studentMap数据。

2. Map转List

将Map类型的数据转换为List类型的数据,可以将按照Key-Value方式存储的数据转换为仅包含Value的数据。以下是一种将Map类型的学生数据转换为仅包含学生对象List的示例:

Map studentMap = new HashMap<>();// 添加学生数据List students = new ArrayList<>(studentMap.values());

我们先创建了一个Map类型的studentMap数据,然后通过Java 8的Stream API将Map的Values转换为一个List类型的数据,得到了仅包含学生对象List的数据。

3. List转Map并保留重复Key

我们需要对List类型的数据进行分组时,可能会出现Key值重复的情况,此时需要保留重复的Key值并将对应的Value值合并为一个List。下面是一种将List类型的学生数据按照班级进行分组的示例:

List students = new ArrayList<>();// 添加学生数据Map> studentMap = students.stream()        .collect(Collectors.groupingBy(Student::getGrade, Collectors.toList()));

我们先创建了一个List类型的students数据,然后通过Java 8的Stream API对数据进行分组,并通过Collectors.toList()方法保留重复的Key值,得到了一个以学生班级为Key、以学生对象List为Value的Map类型的studentMap数据。

4. Map转List并保留Key值

将Map类型的数据转换为List类型的数据时,有时候需要保留Map中的Key值,可以通过Map的entrySet()方法获取到Key-Value对,再通过Java 8的Stream API将Key值转换为List类型的数据。以下是一种将Map类型的学生数据转换为仅包含学生姓名List的示例:

Map studentMap = new HashMap<>();// 添加学生数据List names = studentMap.entrySet().stream()        .map(Map.Entry::geTKEy)        .collect(Collectors.toList());

我们先创建了一个Map类型的studentMap数据,然后通过Java 8的Stream API获取到Map的entrySet(),再通过map()方法将Key值转换为List类型的数据,得到了仅包含学生姓名List的数据。

5 简单版 可以通过遍历List,将List中的元素转换为Map中的键值对

List list = new ArrayList<>();list.add("key1:value1");list.add("key2:value2");Map map = new HashMap<>();for (String str : list) {    String[] arr = str.split(":");    map.put(arr[0], arr[1]);}

我们首先创建了一个List,然后将两个字符串元素添加到List中。接着,我们创建了一个空的Map,然后通过遍历List,将List中的元素转换为Map中的键值对。

6:通过遍历Map,将Map中的键值对转换为List中的元素

Map map = new HashMap<>();map.put("key1", "value1");map.put("key2", "value2");List list = new ArrayList<>();for (Map.Entry entry : map.entrySet()) {    String str = entry.getKey() + ":" + entry.getValue();    list.add(str);}

我们首先创建了一个Map,然后将两个键值对添加到Map中。接着,我们创建了一个空的List,然后通过遍历Map,将Map中的键值对转换为List中的元素。

7:使用Java 8的Stream API进行List和Map的转换

List list = new ArrayList<>();list.add("key1:value1");list.add("key2:value2");Map map = list.stream()        .map(str -> str.split(":"))        .collect(Collectors.toMap(arr -> arr[0], arr -> arr[1]));

我们首先创建了一个List,然后将两个字符串元素添加到List中。接着,我们使用Stream API对List进行操作,将List中的元素转换为Map中的键值对。

8:使用Apache Commons Collections库中的方法进行List和Map的转换

List list = new ArrayList<>();list.add("key1:value1");list.add("key2:value2");Map map = new HashMap<>();CollectionUtils.addAll(map, list.toArray(new String[0]));

我们首先创建了一个List,然后将两个字符串元素添加到List中。接着,我们创建了一个空的Map,然后使用Apache Commons Collections库中的方法将List转换为Map。

来源地址:https://blog.csdn.net/sqL520lT/article/details/130365975

--结束END--

本文标题: [Java List类型和Map类型想换转换案例]

本文链接: https://www.lsjlt.com/news/402880.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • [Java List类型和Map类型想换转换案例]
    目录 1. List转Map 2. Map转List 3. List转Map并保留重复Key 4. Map转List并保留Key值 5 简单版 可以通过遍历List,将List中的元素转换为Map中的键值对 6:通过遍历Map,将Map中...
    99+
    2023-09-11
    java 开发语言
  • String类型和Date类型相互转换(java)
    ** String类型和Date类型怎样相互转换? ** 1、format方法可以把Date类型转换成特定格式的String类型,如果Date类型和定义的SimpleDateFormat长度不一致会自动在后面补充0 //自定义需要输出的St...
    99+
    2023-08-23
    java jvm sql
  • java的类型转换
    有关int与string的互转[@more@]如何将字串 String 转换成整数 int A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([...
    99+
    2023-06-03
  • java如何实现类型转换与强制类型转换
    这篇文章主要介绍了java如何实现类型转换与强制类型转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。java类型转换与强制类型转换如果你以前有编程经验,那么你已经知道把一种...
    99+
    2023-06-03
  • kotlin的数据类型和类型转换
    在 Kotlin 中,数据类型是变量或表达式的属性,确定了存储的数据类型以及可以在该数据上执行的操作。Kotlin 支持与 Java 类似的基本数据类型,但还引入了一些增强的数据类型和类型安全的特性。...
    99+
    2023-10-27
    后端 kotlin
  • 怎么在Java中将Object转换为List类型
    怎么在Java中将Object转换为List类型?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。转换方法这时候可以自己写一个工具类,用来对接收到的Object类型...
    99+
    2023-06-14
  • golang强制类型转换和类型断言
    目录1.强制类型转换2.类型断言1.强制类型转换 golang是强类型语言,但是和c++,Java不太一样的是,go中没有隐式类型转换,go中的类型转换只有:强制类型转换和断言 在j...
    99+
    2024-04-02
  • java泛型中类型擦除的转换示例
    这篇文章给大家分享的是有关java泛型中类型擦除的转换示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用...
    99+
    2023-06-14
  • java中byte[]类型如何转换为String类型
    在 Java 中将 byte[] 类型转换为 String 类型,可以使用 String 的构造函数或者静态方法。 使用 String 构造函数 byte[] byteArray = {97, 98, 99}; String str = n...
    99+
    2023-09-08
    java servlet 开发语言
  • java 实现将Object类型转换为int类型
    如何将Object类型转换为int类型 Object object = null; try { Integer.parseInt(object.toString()); ...
    99+
    2024-04-02
  • javascript中怎么进行List类型转换
    随着JavaScript的快速发展,越来越多的开发人员开始使用它来开发各种应用程序和网站。其中,操作列表(List)是很多JavaScript开发人员必不可少的任务。在使用JavaScript进行列表操作时,处理类型转换是一个经常遇到的问题...
    99+
    2023-05-14
  • 【Java 基础篇】Java 类型转换
    文章目录 导言一、隐式类型转换1. 整型隐式类型转换2. 浮点型隐式类型转换3. 字符型隐式类型转换4. 布尔型隐式类型转换 二、显式类型转换1. 整型显式类型转换2. 引用数据类型显式...
    99+
    2023-09-22
    java 开发语言
  • Python转换数据类型函数和转换数据类型的作用
    目录一、转换数据类型的作用(必要性)二、转换数据类型的函数三、快速体验数据类型转换前言: 学习Python的转换数据类型前期主要学习目标有两个,一是数据类型转换的必要性,二是数据类型...
    99+
    2024-04-02
  • java泛型数组转换类型的示例分析
    小编给大家分享一下java泛型数组转换类型的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据...
    99+
    2023-06-14
  • Java中Object转换为List类型的实现方法
    前言 在很多项目编写过程中会使用Map<?>类型来进行参数的传递。为了能够让更多的类型放入value中,实例化的类型往往是Map<String, Obje...
    99+
    2024-04-02
  • golang bool 类型转换
    在 Golang 中,bool 类型是一个布尔类型,它只有两个值:true 和 false。在某些情况下,我们需要将 bool 类型转换成其他类型,例如整型、字符串等。那么,Golang 中 bool 类型的转换怎么做呢?以下是详细说明:b...
    99+
    2023-05-15
  • C#类型转换实例分析
    这篇“C#类型转换实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#类型转换实例分析”文章吧。C# 类型转...
    99+
    2023-06-17
  • golang date类型转换
    Golang是一种非常流行的编程语言,其性能和易用性都得到了开发者的广泛认可。在Golang中,日期类型是使用time包表示的,而且时间格式化和日期类型转换是非常常见的操作。本文将介绍如何在Golang中进行日期类型转换。Golang的时间...
    99+
    2023-05-15
  • MySQL显式类型转换实例
    小编给大家分享一下MySQL显式类型转换实例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!undefined在之前的文章中,我们...
    99+
    2024-04-02
  • golang json 类型转换
    在 Golang 中,JSON 是一种重要的数据格式,因为其可以方便的进行数据传输和存储。在处理 JSON 数据时,类型转换是非常常见的操作,本文将介绍 Golang 中的 JSON 类型转换。JSON 数据类型在进行 JSON 类型转换之...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作