java中List、Array、Map、Set等集合相互转换

下面为你讲解Java中List、Array、Map、Set等集合相互转换的完整攻略。

一、List与Array之间相互转换

1. 将List转换为数组

使用 ListtoArray() 方法可以将 List 转换为数组。示例代码如下:

List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");

String[] array = list.toArray(new String[0]);
System.out.println(Arrays.toString(array)); // [Java, Python, C++]

toArray() 方法中传入一个空的类型为 String 的数组作为参数,然后将 List 转换为该数组即可。

2. 将数组转换为List

使用 Arrays 类的 asList() 方法可以将数组转换为 List。示例代码如下:

String[] array = {"Java", "Python", "C++"};

List<String> list = Arrays.asList(array);
System.out.println(list); // [Java, Python, C++]

直接将数组作为参数传入 asList() 方法中即可。

二、List与Set之间相互转换

1. 将List转换为Set

使用 HashSetTreeSet 来将 List 转换为 Set。示例代码如下:

List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");

Set<String> set1 = new HashSet<>(list);
System.out.println(set1); // [Java, Python, C++]

Set<String> set2 = new TreeSet<>(list);
System.out.println(set2); // [C++, Java, Python]

上面示例中分别用 HashSetTreeSet 来创建 Set 对象,然后将 List 作为构造方法的参数传入,即可完成转换。

2. 将Set转换为List

使用 ArrayList 来将 Set 转换为 List。示例代码如下:

Set<String> set = new HashSet<>();
set.add("Java");
set.add("Python");
set.add("C++");

List<String> list = new ArrayList<>(set);
System.out.println(list); // [Java, Python, C++]

直接将 Set 作为构造方法的参数传入 ArrayList 即可完成转换。

三、List与Map之间相互转换

1. 将List转换为Map

List 中的元素转换为键值对,然后使用 HashMapTreeMap 来创建 Map 对象。示例代码如下:

// List中的元素是字符串,形式如“key:value”
List<String> list = new ArrayList<>();
list.add("Java:1");
list.add("Python:2");
list.add("C++:3");

Map<String, Integer> map1 = new HashMap<>();
Map<String, Integer> map2 = new TreeMap<>();

for (String s : list) {
    String[] arr = s.split(":");
    map1.put(arr[0], Integer.valueOf(arr[1]));
    map2.put(arr[0], Integer.valueOf(arr[1]));
}

System.out.println(map1); // {Java=1, Python=2, C++=3}
System.out.println(map2); // {C++=3, Java=1, Python=2}

上例中,首先创建一个 List,然后将 List 中的每个元素利用 split() 方法将键值对拆分开来,再将拆分后的键值对添加到 Map 中,即可完成 ListMap 的转换。

2. 将Map转换为List

利用 MapentrySet() 方法将键值对转换为 List。示例代码如下:

Map<String, Integer> map = new HashMap<>();
map.put("Java", 1);
map.put("Python", 2);
map.put("C++", 3);

List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
System.out.println(list); // [Java=1, Python=2, C++=3]

上例中,使用 entrySet() 方法将 Map 中的键值对转换为 Set,然后将 Set 转换为 List 即可完成 MapList 的转换。

以上就是Java中List、Array、Map、Set等集合相互转换的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中List、Array、Map、Set等集合相互转换 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • java实现潜艇大战游戏源码

    Java实现潜艇大战游戏源码攻略 简介 潜艇大战是一款基于Java语言实现的2D游戏。该游戏的主要玩法是控制一艘潜艇在水下航行,躲避敌方潜艇的攻击,并攻击敌方潜艇,最终达到游戏目标。 游戏源码攻略 以下介绍实现潜艇大战游戏源码的具体步骤: 1. 环境搭建 首先,需要搭建Java开发环境,推荐使用Eclipse等IDE进行开发。同时,需要安装JavaFx相关的…

    Java 2023年5月19日
    00
  • SpringMVC学习之JSON和全局异常处理详解

    SpringMVC学习之JSON和全局异常处理详解 JSON 什么是JSON JSON是一种轻量级的数据交换格式,它的设计是为了易于阅读和编写。JSON是基于JavaScript的一个子集,可以用于表示简单的数据结构和对象,常用于Web前端和服务器之间的数据传输。 在SpringMVC中使用JSON SpringMVC内置了MappingJackson2Ht…

    Java 2023年5月26日
    00
  • jsp实现页面实时显示当前系统时间的方法

    要实现页面实时显示当前系统时间,可以使用以下方法: 方法一:使用JavaScript实现 最简单的方法是使用JavaScript,这种方式可以通过浏览器直接获取当前时间,然后展示在页面上。具体实现如下: 在HTML页面中引入JavaScript代码: <body onload="setInterval(displayClock, 1000);…

    Java 2023年6月15日
    00
  • Spring Boot 中使用 Redis

    Redis 环境 redis 安装、配置,启动:(此处以云服务器上进行说明) 下载地址:https://redis.io/download/ 下载后上传到云服务器上,如 /usr/local 中 gcc 环境安装:yum install -y gcc-c++ 解压:tar -zxvf xxx 进入解压后的 redis 目录下执行 编译:make 安装:mak…

    Java 2023年4月17日
    00
  • Spring MVC中异常处理的三种方式

    当Spring MVC应用程序在运行时遇到异常时,异常可能会向上冒泡,直到Spring MVC Controller方法或其他自定义组件覆盖了异常,而且可能会向客户端返回带有不必要的技术信息的HTTP响应。为了防止这种情况的发生,Spring MVC提供了多种机制来处理异常: 1. 在控制器方法中的try catch块中捕获并处理异常 在控制器方法中使用 t…

    Java 2023年5月27日
    00
  • SpringBoot+Vue项目新手快速入门指南

    SpringBoot+Vue项目新手快速入门指南 SpringBoot和Vue是两个非常流行的开发框架,它们可以帮助我们快速构建高效、可靠的Web应用程序。在本文中,我们将介绍如何使用SpringBoot和Vue构建一个完整的Web应用程序。 步骤一:创建SpringBoot项目 我们首先需要创建一个SpringBoot项目。以下是一个示例: 打开Intel…

    Java 2023年5月15日
    00
  • html 中文乱码 HTML超链接中文乱码问题分析及解决方法

    下面详细讲解一下“HTML中文乱码HTML超链接中文乱码问题分析及解决方法”的完整攻略: 问题分析 在网页制作的过程中,有时候会遇到中文字符乱码的问题,尤其是在使用HTML超链接时更容易出现这种情况。HTML中文乱码问题往往由以下原因引起: 文本编辑器编码问题; 文件编码不正确; 在HTML文件中未设置正确的编码方式; 在服务器上读取HTML文件时编码方式不…

    Java 2023年5月20日
    00
  • C++异常处理 try,catch,throw,finally的用法

    C++异常处理 try,catch,throw,finally的用法 在C++中,异常处理机制是一种用于处理程序运行时出现错误的机制。当程序发生错误时,通常会中断其继续执行。异常处理机制能够使程序有机会处理这些错误,并继续执行而不崩溃。 try-catch块 在C++中,异常处理块包括try-catch块和finally块。try-catch块是一个用来捕捉…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部