Java中数组array和列表list相互转换

在Java中,可以将数组(array)和列表(list)相互转换,但需要注意一些细节和限制。以下是一些示例和说明:

从数组到列表:

  1. 使用Arrays.asList()方法:可以使用Arrays.asList()方法将数组转换为列表。这个方法返回一个List视图,不支持添加或删除元素,只能修改现有元素的值。这是一个固定大小的列表。

    java 复制代码
    String[] array = {"A", "B", "C"};
    List<String> list = Arrays.asList(array);
  2. 使用循环逐个元素添加:您可以遍历数组并逐个元素添加到列表中,这样可以创建一个可修改的列表。

    java 复制代码
    String[] array = {"A", "B", "C"};
    List<String> list = new ArrayList<>(Arrays.asList(array));

从列表到数组:

  1. 使用toArray()方法:可以使用List接口的toArray()方法将列表转换为数组。需要传入一个目标数组,如果目标数组的大小不足以容纳列表中的元素,它将创建一个新数组。

    java 复制代码
    List<String> list = new ArrayList<>();
    list.add("A");
    list.add("B");
    list.add("C");
    
    String[] array = list.toArray(new String[0]);

    注意:传递一个大小为0的目标数组是一种惯用做法,因为它会自动创建正确大小的新数组。

  2. 使用streamtoArray()方法(Java 8及更高版本):可以使用Java 8中引入的streamtoArray()方法来将列表转换为数组。

    java 复制代码
    List<String> list = new ArrayList<>();
    list.add("A");
    list.add("B");
    list.add("C");
    
    String[] array = list.stream().toArray(String[]::new);
相关推荐
小熊美家熊猫系统7 分钟前
电子合同技术实现与合规实践
java·开发语言·分布式
云烟成雨TD7 分钟前
Agent Scope Java 2.x 系列【3】从零构建 ReActAgent
java·人工智能·agent
一只叫煤球的猫17 分钟前
ThreadForge 源码解读二:一个 Task 从 submit 到完成,内部到底发生了什么?
java·后端·面试
阿狸猿1 小时前
论微服务架构及其应用
java·微服务·架构
程序员黑豆1 小时前
Java中的字符串【AI全栈开发】
java
namexingyun2 小时前
开源前端生态如何成为 AI UI 生成的“燃料“:shadcn/ui、Tailwind CSS、Storybook 技术价值全解剖
java·前端·人工智能·python·ui·开源·ai编程
终将老去的穷苦程序员2 小时前
基于SpringBoot的餐饮管理系统
java·spring boot·后端
心之伊始2 小时前
Spring AI Tool Calling 实战:让 Java Agent 调用本地 Bean 工具方法
java·spring boot·agent·spring ai·tool calling
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第110题】【并发篇】第10题:CAS 存在哪些问题?
java·开发语言·面试
瀚高PG实验室2 小时前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库