Java集合List与Array的相互转换

下面就为你详细讲解Java集合List与Array的相互转换。

List转Array

1.使用toArray()方法

将List转为数组最简单的方式就是使用List提供的toArray()方法。该方法返回一个持有此列表元素的数组。

List<String> list = new ArrayList<>();
list.add("foo");
list.add("bar");
Object[] array = list.toArray();
String[] stringArray = Arrays.copyOf(array, array.length, String[].class);

这里的toArray()方法返回一个Object数组,需要使用Java提供的Arrays.copyOf()方法将其转换为String类型的数组。

2.使用toArray(T[] a)方法

另一种将List转换为数组的方法是使用List提供的toArray(T[] a)方法。该方法可接受一个类型为T的数组作为参数,并将列表中的元素填入该数组中。如果传入的数组长度小于列表的长度,则该方法将分配一个新的数组来保存列表中的元素。

List<String> list = new ArrayList<>();
list.add("foo");
list.add("bar");
String[] array = list.toArray(new String[0]);

需要注意的是,如果我们将一个长度为0的数组作为参数传递给toArray()方法,它将返回一个新的数组。

Array转List

使用Arrays类提供的asList()方法,可以方便地将数组转换为List。该方法返回一个固定长度的List,即不能添加和删除元素,只能通过修改数组来改变List中的内容。

String[] array = new String[]{"foo", "bar"};
List<String> list = Arrays.asList(array);

需要注意的是,asList()方法返回的List是一个固定长度的List,不能对其进行修改。

示例

示例一:List转Array

List<String> list = new ArrayList<>();
list.add("foo");
list.add("bar");
Object[] array = list.toArray();
String[] stringArray = Arrays.copyOf(array, array.length, String[].class);
System.out.println(Arrays.toString(stringArray));

输出结果为:

[foo, bar]

示例二:Array转List

String[] array = new String[]{"foo", "bar"};
List<String> list = Arrays.asList(array);
System.out.println(list);

输出结果为:

[foo, bar]

希望这份攻略对你有所帮助,如有疑问可以随时提问。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java集合List与Array的相互转换 - Python技术站

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

相关文章

  • Java日常练习题,每天进步一点点(39)

    首先,需要明确题目的大致意思:从数组中找出某个数的位置。这是一个较为基础的算法练习,主要是针对初学者对数组的使用以及查找算法的理解和掌握。 接下来,我们可以使用以下的方法来解决这个问题: 1.首先,我们需要定义一个数组,用来存储要查找的数字以及随机生成的其他数字。这里我们可以使用Java中的Random类来生成指定范围内的随机数字,代码如下: import …

    Java 2023年5月26日
    00
  • 超详细讲解SpringBoot参数校验实例

    标题:超详细讲解SpringBoot参数校验实例 简介 SpringBoot是一款非常流行的开源Java框架,它提供了方便的依赖注入、自动配置和可扩展性。在使用SpringBoot开发Web应用时,我们不可避免地需要对用户传入的参数进行校验,本文将详细讲解如何使用SpringBoot进行参数校验。 步骤 1. 添加依赖 要使用SpringBoot参数校验,我…

    Java 2023年5月20日
    00
  • Android NDK 开发教程

    Android NDK 开发教程 什么是 Android NDK Android NDK 全称 Native Development Kit,是 Android 官方提供的一个工具集,可用于加速使用 C/C++ 语言编写的应用程序的开发和性能优化。 使用 NDK 进行开发的主要优势在于: 提高了应用程序的性能:使用原生 C/C++ 代码编写可以实现更快的执行…

    Java 2023年5月26日
    00
  • ibatis学习之搭建Java项目

    下面是关于“ibatis学习之搭建Java项目”的完整攻略: 第一步:项目环境搭建 在开始使用ibatis进行Java开发之前,我们首先需要搭建好开发环境,包括: 安装JDK环境:首先需要安装Java Development Kit(JDK),并配置好环境变量。 安装Eclipse IDE:选择一个常用的IDE,如Eclipse IDE,安装并配置好开发环境…

    Java 2023年5月19日
    00
  • SpringMVC 数据绑定实例详解

    SpringMVC 数据绑定是将请求参数绑定到 Controller 方法的参数或 JavaBean 中。本文将详细讲解 SpringMVC 数据绑定的实现方式,并提供两个示例说明。 1. 基本数据类型绑定 SpringMVC 可以将请求参数绑定到 Controller 方法的基本数据类型参数中。下面是一个简单的示例: @RequestMapping(&qu…

    Java 2023年5月18日
    00
  • 图解如何在Spring Boot中使用JSP页面

    让我来为您详细讲解“图解如何在Spring Boot中使用JSP页面”的完整攻略。 1. 准备工作 在使用JSP页面前,需要确保您已经完成以下准备工作: 在pom.xml文件中添加依赖: xml <dependency> <groupId>org.apache.tomcat.embed</groupId> <arti…

    Java 2023年5月26日
    00
  • mybatis 模糊查询的实现方法

    MyBatis是一种流行的Java ORM框架,它可以帮助开发人员轻松地访问数据库。模糊查询是一种常见的查询方式,用于在所有符合特定标准的结果中查找符合特定模式的结果。在MyBatis中实现模糊查询非常简单,本文将详细介绍如何实现。 1. LIKE关键字 实现模糊查询的最常见方法是使用SQL的LIKE关键字。这个关键字指示数据库在检索数据时应该搜索包含指定模…

    Java 2023年5月20日
    00
  • java8 LocalDate LocalDateTime等时间类用法实例分析

    Java8 时间类用法实例分析 Java8中引入了全新的日期和时间API,其中包括了多个专门用于处理日期和时间的类。本文将深入介绍几个常用的时间类及其用法实例。 1. LocalDate LocalDate 表示不带时区的日期,它的常用方法有: now():获取当前日期 getYear():获取当前日期的年份 getMonth():获取当前日期的月份 get…

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