Java集合List与Array的相互转换

yizhihongxing

下面就为你详细讲解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日

相关文章

  • Spring BOOT AOP基础应用教程

    Spring BOOT AOP基础应用教程 Spring AOP(面向切面编程)是Spring框架的一个重要组成部分,它可以帮助我们更好地管理和维护代码。在本文中,我们将介绍Spring Boot AOP的基础知识和应用方法。 步骤一:添加依赖 我们需要在pom.xml文件中添加Spring AOP的依赖。以下是一个示例: <dependency&gt…

    Java 2023年5月15日
    00
  • SpringBoot+MySQL+Jpa实现对数据库的增删改查和分页详解

    前置知识: 在学习本篇攻略之前,需要熟悉如下知识: SpringBoot: 一款基于Spring框架的快速开发脚手架工具,可以快速创建Spring应用 MySQL: 一款流行的关系型数据库 JPA: Java持久化API,是一套标准的ORM框架 步骤: 1.配置MySQL数据库 首先需要进行mysql数据库的安装和配置。这里不再赘述,建议在官网上进行下载和安…

    Java 2023年5月20日
    00
  • Java获取时间差(天数差,小时差,分钟差)代码示例

    Java获取时间差(天数差,小时差,分钟差)的实现需要用到Java中的日期时间类:java.util.Date和java.time.LocalDateTime。以下是详细的攻略和两条代码示例: 获取时间差代码示例1 import java.time.LocalDateTime; import java.time.Duration; public class …

    Java 2023年5月20日
    00
  • JDBC的基本操作与Statement和PreparedStateMent使用区别分析

    JDBC是Java数据库连接的简称,是Java语言中访问数据库的标准规范。通过JDBC可以连接不同种类的数据库,与数据库进行交互操作。 本文将讲解JDBC的基本操作,重点介绍Statement和PreparedStatement的使用区别。 JDBC基本操作 JDBC的使用过程大致如下: 加载数据库驱动 建立与数据库的连接 创建Statement对象 执行S…

    Java 2023年6月1日
    00
  • 困扰JSP的一些问题与解决方法

    困扰JSP的一些问题与解决方法 问题1:JSP页面不显示预期结果 当JSP页面不显示预期结果时,可能存在以下原因: 脚本语言引擎问题:语法错误或者未正确引入脚本语言。可以通过查看控制台输出或者检查JSP页面中脚本语言的引入是否正确来解决。 语法错误:JSP页面中可能存在语法错误,例如拼写错误、标签使用不当等。可以通过各种文本编辑器或者开发工具的语法检查功能来…

    Java 2023年6月15日
    00
  • 【Jmeter】按比例分配Api压测

    先看 【Jmeter】基础介绍-详细 【Jmeter】Request1输出作为Request2输入-后置处理器 继续聊提出的第二个问题,即   2.需要按比例分配API请求并发,以模拟真实的API压力场景 做压测的时候,一般的需求都是多个API同时压,不然也看不出真正的tps是多少啊。 比如虽然接口a的需求并发不高,500个用户才请求一次,但是特别耗性能,导…

    Java 2023年4月25日
    00
  • Spring MVC简介_动力节点Java学院整理

    Spring MVC简介 Spring MVC是一种基于Java的轻量级Web框架,用于开发Web应用程序。它基于MVC(模型-视图-控制器)设计模式,该模式将应用程序分为三个主要组成部分,以提供松散耦合的应用程序开发。Spring MVC还提供了中央调度,以便将控制器(Controller)与用户界面(View)分开。 Spring MVC架构 Sprin…

    Java 2023年5月31日
    00
  • mybatis如何实现继承映射

    Mybatis 支持继承映射,让开发人员能够轻松地进行 SQL 映射。本攻略将详细讲解如何实现 Mybatis 的继承映射,过程中将提供两个示例。 1. 创建父类和子类 首先,我们需要创建一个父类和一个或多个子类。父类是所有子类共有的属性和方法的集合,子类是继承自父类的特定数据模型。 父类 Entity: public class Entity { priv…

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