【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 方法是将集合中元素转换成数组的一种便捷方式,有助于在集合和数组之间进行数据转换。

相关推荐
生万千欢喜心几秒前
Linux 安装金蝶天燕中间件 AAS-V9.0.zip
java·linux
耿雨飞3 分钟前
Python 后端开发技术博客专栏 | 第 03 篇 面向对象编程进阶 -- 从 SOLID 原则到 Python 特色 OOP
开发语言·python·面向对象·oop
m0_678485455 分钟前
c++如何提取系统环境变量并直接保存到txt日志中_getenv与ofstream【实战】
jvm·数据库·python
源码站~6 分钟前
基于python的校园代跑(跑腿)系统
开发语言·python
BugShare7 分钟前
一个用 Rust 编写的、速度极快的 Python 包和项目管理器
开发语言·python·rust
qq_342295829 分钟前
Go语言怎么嵌入静态文件_Go语言embed嵌入文件教程【秒懂】
jvm·数据库·python
耿雨飞12 分钟前
Python 后端开发技术博客专栏 | 第 04 篇 Python 内存管理与垃圾回收 -- 从引用计数到分代回收
开发语言·python·垃圾回收
qq_2069013914 分钟前
如何在Linux上源码编译安装MySQL_CMake配置与依赖包安装
jvm·数据库·python
海兰15 分钟前
【第2篇-续】从零开始helloworld使用openAI通用模型的完整实现示例附源代码
java·人工智能·spring boot·alibaba·spring ai
ooseabiscuit16 分钟前
记录 idea 启动 tomcat 控制台输出乱码问题解决
java·tomcat·intellij-idea