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);
相关推荐
吗喽对你问好12 分钟前
Java位运算符大全
java·开发语言·位运算
Java致死22 分钟前
工厂设计模式
java·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式
程序员JerrySUN1 小时前
驱动开发硬核特训 · Day 21(上篇) 抽象理解 Linux 子系统:内核工程师的视角
java·linux·驱动开发
只因只因爆1 小时前
如何在idea中写spark程序
java·spark·intellij-idea
你憨厚的老父亲突然1 小时前
从码云上拉取项目并在idea配置npm时完整步骤
java·npm·intellij-idea
全栈凯哥2 小时前
桥接模式(Bridge Pattern)详解
java·设计模式·桥接模式
PXM的算法星球2 小时前
【软件工程】面向对象编程(OOP)概念详解
java·python·软件工程
两点王爷2 小时前
springboot项目文件上传到服务器本机,返回访问地址
java·服务器·spring boot·文件上传
小吕学编程2 小时前
ES练习册
java·前端·elasticsearch
qsmyhsgcs2 小时前
Java程序员转人工智能入门学习路线图(2025版)
java·人工智能·学习·机器学习·算法工程师·人工智能入门·ai算法工程师