每日一道面试题之如何实现数组和 List 之间的转换?

要实现数组和List之间的转换,可以使用Java中的Arrays类Collections类提供的方法。

数组转换为List:

使用Arrays类asList()方法 可以将数组转换为List。这个方法接受一个数组作为参数,并返回一个包含数组元素固定大小的List。

举例:

java 复制代码
import java.util.Arrays;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        String[] array = {"小狗" , "小猫" , "大象" };
        List<String> list = Arrays.asList(array);
        System.out.println(list);
    }
}

输出如下所示:

java 复制代码
[小狗,小猫,大象]

List转换为数组:

使用List的**toArray()**方法可以将List转换为数组。这个方法返回一个包含List元素的数组。

举例:

java 复制代码
import java.util.ArrayList;
import java.util.List;
public class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        //创建与list长度相等的数组
        String[] array = new String[list.size()];
        //使用toArray方法将List转换为数组
        array = list.toArray(array);
        // 打印数组元素
        for (String element : array) {
            System.out.println(element);
        }
    }
}

输出如下所示:

java 复制代码
apple
banana
orange

注意:数组和List之间的转换是浅拷贝的,它们共享相同的元素对于数组转换为List,对List的修改会反映到原始数组中,对于List转换为数组,对数组的修改会反映到原始List中。

如果要将List转换为数组时想指定数组的类型,可以传递一个具有相同类型的空数组作为参数。如果传递的数组长度小于List的大小,将会创建一个新的数组来存储List的元素。

相关推荐
人道领域1 小时前
Day | 11 【苍穹外卖统计业务的实现:含详细思路分析】
java·数据库·后端·苍穹外卖
RickeyBoy6 小时前
SwiftUI 如何实现 Infinite Scroll?
ios·面试
xiaoye37086 小时前
Java 自动装箱 / 拆箱 原理详解
java·开发语言
YDS8297 小时前
黑马点评 —— 分布式锁详解加源码剖析
java·spring boot·redis·分布式
ZTLJQ7 小时前
数据的基石:Python中关系型数据库完全解析
开发语言·数据库·python
夏霞7 小时前
c# signlar 客户端传递参数给服务端配置方法
开发语言·c#
KD8 小时前
阿里云服务迁移实战(二)——网关迁移与前后端分离配置
后端
迷藏4948 小时前
**发散创新:基于 Rust的开源权限管理系统设计与实战**在现代软件架构中,**权限控制**早已不
java·开发语言·rust·开源
升鲜宝供应链及收银系统源代码服务8 小时前
《IntelliJ + Claude Code + Gemini + ChatGPT 实战配置手册升鲜宝》
java·前端·数据库·chatgpt·供应链系统·生鲜配送
daidaidaiyu8 小时前
Nacos实例一则及其源码环境搭建
java·spring