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

相关推荐
用户120391129472615 小时前
从零掌握 React JSX:为什么它让前端开发像搭积木一样简单?
前端·react.js·面试
sptan15 小时前
Nacos适用Postgresql改造记录
后端
okseekw15 小时前
Java网络编程从入门到实战:吃透三要素,玩转CS/BS架构
java·后端·http
我是你们的明哥16 小时前
A*(A-Star)算法详解:智能路径规划的核心技术
后端·算法
喷火龙8号16 小时前
JWT 认证方案深度对比:单 Token 扩展刷新 vs 双 Token 验证
后端·设计模式·架构
xing-xing16 小时前
Java大模型开发框架Spring AI
java·人工智能·spring
曾富贵16 小时前
【Prisma】NestJS 集成与核心链路解析
数据库·后端
Coder_Boy_16 小时前
【DDD领域驱动开发】基础概念和企业级项目规范入门简介
java·开发语言·人工智能·驱动开发
起风了___16 小时前
Flask生产级模板:统一返回、日志、异常、JSON编解码,开箱即用可扩展
后端·python
我是你们的明哥16 小时前
从 N 个商品中找出总价最小的 K 个方案
后端·算法