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

相关推荐
大傻^4 分钟前
SpringAI2.0 Null Safety 实战:JSpecify 注解体系与 Kotlin 互操作
android·开发语言·人工智能·kotlin·springai
Master_Azur7 分钟前
Java面向对象之多态与重写
后端
不秃不少年11 分钟前
Java 设计模式
java
魑魅魍魉都是鬼18 分钟前
Java 适配器模式(Adapter Pattern)
java·开发语言·适配器模式
笨笨马甲18 分钟前
Qt MQTT
开发语言·qt
sinat_2554878119 分钟前
教授提供的有用链接 — 20·学习笔记
java
Book思议-22 分钟前
【数据结构实战】链表找环入口的经典问题:快慢指针法
c语言·数据结构·算法·链表
Java面试题总结23 分钟前
2026Java面试八股文合集(持续更新)
java·spring·面试·职场和发展·java面试·java八股文
一勺菠萝丶24 分钟前
芋道框架 - API 前缀区分机制
java·linux·python
kcuwu.25 分钟前
Python判断及循环
android·java·python