Java中集合转数组常用toArray()方法:1. 直接调用返回Object[];2. 传入类型数组如new String[0]可得指定类型数组;3. 基本类型需通过Stream转换;4. Set转换方式与List相同,但不保证顺序。

在Java中,将集合转换为数组是一个常见的操作,通常使用集合的 toArray() 方法来实现。根据集合类型(如 List、Set 等)的不同,转换方式基本一致。下面介绍几种常用的方法。
1. 使用 toArray() 方法转换为 Object 数组
这是最简单的方式,适用于任意集合,但返回的是 Object 类型数组,不能直接当作具体类型使用。示例:
Listlist = Arrays.asList("apple", "banana", "orange"); Object[] array = list.toArray(); for (Object obj : array) { System.out.println(obj); }
2. 转换为指定类型的数组
为了获得特定类型的数组(如 String[]),需要传入一个相应类型的数组作为参数。示例:
Listlist = Arrays.asList("apple", "banana", "orange"); String[] array = list.toArray(new String[0]); for (String str : array) { System.out.println(str); }
说明: 传入 new String[0] 是推荐写法,Java 会根据集合大小自动创建合适长度的数组。也可以传入一个足够大的数组,如 new String[list.size()]。
立即学习“Java免费学习笔记(深入)”;
3. 处理基本数据类型集合(如 int)
List 不支持基本类型,通常使用包装类(如 Integer),转换后需注意类型。示例:
ListintList = Arrays.asList(1, 2, 3, 4); Integer[] intArray = intList.toArray(new Integer[0]); for (Integer num : intArray) { System.out.println(num); }
注意: 如果需要 int[] 而不是 Integer[],需手动遍历转换或使用 Java 8 的 Stream:
int[] primitiveArray = intList.stream().mapToInt(Integer::intValue).toArray();
4. Set 集合的转换方式
Set 转数组与 List 基本相同,只是元素顺序不保证。示例:
Set基本上就这些常见用法。关键是根据集合元素类型选择合适的set = new HashSet<>(Arrays.asList("a", "b", "c")); String[] array = set.toArray(new String[0]); for (String s : array) { System.out.println(s); }
toArray(T[]) 方法,并注意基本类型和包装类的区别。










