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);
相关推荐
郝学胜-神的一滴5 分钟前
线程同步:并行世界的秩序守护者
java·linux·开发语言·c++·程序人生
掉鱼的猫26 分钟前
灵动如画 —— 初识 Solon Graph Fluent API 编排
java·openai·workflow
周杰伦fans29 分钟前
AndroidStudioJava国内镜像地址gradle
android·java·android-studio
艾莉丝努力练剑29 分钟前
【Linux进程控制(一)】进程创建是呼吸,进程终止是死亡,进程等待是重生:进程控制三部曲
android·java·linux·运维·服务器·人工智能·安全
天天摸鱼的java工程师36 分钟前
RocketMQ 与 Kafka 对比:消息队列选型的核心考量因素
java·后端
uup37 分钟前
SpringBoot 集成 Redis 分布式锁实战:从手动实现到注解式优雅落地
java·redis
Java陈序员40 分钟前
数据同步神器!一款搞定多种数据源同步的开源中间件!
java·spring boot·mysql
liuhaikang1 小时前
鸿蒙高性能动画库——lottie-turbo
java·开发语言·nginx
面对疾风叭!哈撒给1 小时前
Liunx之Docker 安装启动 influxdb2
java·spring cloud·docker