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);
相关推荐
xlsw_几秒前
java全栈day21--Web后端实战之利用Mybaits查询数据
java·开发语言
什么想法都无15 分钟前
stream
java·java stream
m0_7482336416 分钟前
WebService简介
java
love静思冥想16 分钟前
Stream `Collectors.toList()` 和 `Stream.toList()` 的区别(Java)
java·stream
Ch.yang35 分钟前
【Spring】 Bean 注入 HttpServletRequest 能保证线程安全的原理
java·spring·代理模式
web1508509664136 分钟前
基于Mysql、JavaScript、PHP、ajax开发的MBTI性格测试网站(前端+后端)
java
昙鱼44 分钟前
springboot创建web项目
java·前端·spring boot·后端·spring·maven
eternal__day44 分钟前
数据结构(哈希表(中)纯概念版)
java·数据结构·算法·哈希算法·推荐算法
天之涯上上1 小时前
JAVA开发 在 Spring Boot 中集成 Swagger
java·开发语言·spring boot
2402_857583491 小时前
“协同过滤技术实战”:网上书城系统的设计与实现
java·开发语言·vue.js·科技·mfc