【Java】集合List的toArray()方法及其重载

在Java中,集合(List 接口的实现类)提供了一个名为 toArray 的方法,用于将集合中的元素转换成数组。该方法有两个主要的重载形式,分别用于不同的情况。

toArray()重载方法1

java 复制代码
<T> T[] toArray(T[] a)

这个方法将集合中的元素复制到一个指定类型的数组中,并返回该数组。如果指定的数组大小足够容纳集合中的所有元素,那么会将元素直接复制到指定数组中。如果指定的数组大小不足以容纳所有元素,会创建一个新的数组,并将元素复制到新数组中。

示例:

java 复制代码
List<String> stringList = new ArrayList<>();
stringList.add("apple");
stringList.add("banana");
stringList.add("orange");

String[] stringArray = stringList.toArray(new String[0]);

toArray()重载方法2

java 复制代码
Object[] toArray()

这个重载方法不接受参数,它将集合中的元素复制到一个新创建的 Object 类型数组中,并返回该数组。

java 复制代码
List<Integer> intList = new ArrayList<>();
intList.add(1);
intList.add(2);
intList.add(3);

Object[] intArray = intList.toArray();

需要注意的是,toArray 方法返回的是一个对象数组,而不是原始的基本数据类型数组。如果需要将集合中的基本数据类型元素转换成数组,可以使用 Java 8 中引入的 stream() 方法和 toArray() 方法的结合。

示例:

java 复制代码
List<Integer> intList = new ArrayList<>();
intList.add(1);
intList.add(2);
intList.add(3);

int[] primitiveIntArray = intList.stream()
                                .mapToInt(Integer::intValue)
                                .toArray();

总之,toArray 方法是将集合中元素转换成数组的一种便捷方式,有助于在集合和数组之间进行数据转换。

相关推荐
daidaidaiyu2 小时前
一文学习 工作流开发 BPMN、 Flowable
java
ZTLJQ3 小时前
序列化的艺术:Python JSON处理完全解析
开发语言·python·json
H5css�海秀3 小时前
今天是自学大模型的第一天(sanjose)
后端·python·node.js·php
SuniaWang3 小时前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题六:《Vue3 前端开发实战:打造企业级 RAG 问答界面》
java·前端·人工智能·spring boot·后端·spring·架构
sheji34163 小时前
【开题答辩全过程】以 基于springboot的扶贫系统为例,包含答辩的问题和答案
java·spring boot·后端
阿贵---3 小时前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
无敌昊哥战神3 小时前
【LeetCode 257】二叉树的所有路径(回溯法/深度优先遍历)- Python/C/C++详细题解
c语言·c++·python·leetcode·深度优先
m0_726965984 小时前
面面面,面面(1)
java·开发语言
xuhaoyu_cpp_java4 小时前
过滤器与监听器学习
java·经验分享·笔记·学习
李昊哲小课5 小时前
第1章-PySide6 基础认知与环境配置
python·pyqt·pyside