每日一道面试题之如何实现数组和 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的元素。

相关推荐
高频因子挖掘机3 分钟前
A股量化第一步:如何利用 QuantDash 实现日K数据清洗、前复权校验与缺失值处理
后端·github·api
SL_staff14 分钟前
企业知识平台细粒度权限设计实践:从成员组、文档库到操作级的三层防线
java·开源·全栈
周厉21 分钟前
ERP系统全景解析:核心模块与业务逻辑框架
java·服务器·前端
傅科摆 _ py32 分钟前
链表力扣复习
数据结构·leetcode·链表
张彦峰ZYF34 分钟前
借与还之间:连接池设计的技术难点与实现推演
后端·架构·连接池·服务端与协议·无锁借还与尾延迟·失效模式与探活时机·状态污染与泄漏检测
LEE36 分钟前
为什么你的 Claude Code 还在转圈等,别人的已经干完三件事了?
前端·后端·ai编程
喵个咪1 小时前
GoWind CMS 拆解:给 NL2SQL 上四把锁——智能问数的安全边界
后端
喵个咪1 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
后端·go·cms
开开心心就好1 小时前
课堂随机点名工具,绿色版免安装双击即用
java·服务器·前端·ffmpeg·音视频·perl·symfony
不像程序员的程序媛1 小时前
springboot支持的web容器
前端·spring boot·后端