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 mvc_动力节点Java学院整理

    深入浅出Java MVC 介绍 Java MVC是一种设计模式,它将应用程序划分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这种分层架构为应用程序提供了更好的可扩展性和灵活性。 MVC的基本原则 模型(Model) 模型是应用程序中的核心组件,它表示应用程序要处理的数据以及对数据进行操作的逻辑。在Java中,模型可以…

    Java 2023年6月15日
    00
  • JSP使用JDBC连接MYSQL数据库的方法

    下面是JSP使用JDBC连接MYSQL数据库的完整攻略。 准备工作 下载并安装MYSQL数据库。 下载并安装Tomcat服务器。 在Tomcat中配置JDBC驱动程序。将MYSQL的JDBC驱动程序(mysql-connector-java-x.x.xx.jar)放到Tomcat的lib目录下。如果没有该目录,需要手动创建。 JSP连接MYSQL数据库的步骤…

    Java 2023年6月15日
    00
  • Java FileWriter输出换行操作

    下面是关于Java FileWriter输出换行操作的详细讲解: 什么是FileWriter FileWriter 是一个用来写入字符流的便利类。它可以将文本写入到文件中,如果文件不存在则会自动创建。与 FileOutputStream 类似,你可以指定写入数据的文件名和写入数据时是否追加到文件的末尾。 FileWriter 输出换行 在Java中,换行的表…

    Java 2023年5月26日
    00
  • SpringBoot利用自定义注解实现多数据源

    搭建多数据源环境 首先,我们需要在pom.xml中引入所需依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </depen…

    Java 2023年5月20日
    00
  • Web服务器识别技术揭秘

    Web服务器识别技术揭秘 什么是Web服务器识别技术? Web服务器识别技术是指通过检测HTTP请求中的特定标识,以确定正在运行的Web服务器软件类型和版本的过程。Web服务器指向内部资源并与客户端通信,因此了解服务器是非常重要的。许多黑客使用Web服务器识别来收集有关特定网站的有用信息,这些信息可以用于攻击。 Web服务器识别的原理 Web服务器识别的方法…

    Java 2023年6月16日
    00
  • javaSE中异常如何处理举例详解

    JavaSE中的异常处理是一项重要的技能,它可以使我们更好地处理程序出现的错误,并及时解决问题,避免程序崩溃或者异常退出,给用户带来不必要的麻烦。下面我们来详细讲解JavaSE中异常处理的攻略,并通过两个具体的示例来说明。 异常的概念 在Java中,异常是一种事件,它会在程序执行期间导致出现未经处理的错误或异常情况。Java提供了一套API来处理运行时异常和…

    Java 2023年5月26日
    00
  • POI通过模板导出EXCEL文件的实例

    下面是详细的攻略: 一、准备工作 首先需要在项目的pom.xml文件中加上POI的依赖: <!– https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml –> <dependency> <groupId>org.apache.poi</groupId…

    Java 2023年6月15日
    00
  • Java8中的LocalDateTime和Date一些时间操作方法

    下面我就来详细讲解一下“Java8中的LocalDateTime和Date一些时间操作方法”的完整攻略。 Java8中的LocalDateTime和Date一些时间操作方法 1. LocalDateTime 在Java8中,java.time.LocalDateTime类代表了日期和时间的组合,不带时区信息,并且时间精确到纳秒级别。同时,该类也提供了一些时间…

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