集合转换为数组有两种常见方法:使用 arrays.copyof():将集合内容复制到一个指定长度的新数组中。使用 toarray():将集合内容复制到一个 Object[] 类型的数组或指定类型的数组中。
如何将 Java 集合转换为数组
引言
在 Java 中,将集合转换为数组是一个常见操作。这可以通过使用 Arrays.copyOf() 或 toArray() 方法来实现。
使用 Arrays.copyOf() 方法
立即学习“Java免费学习笔记(深入)”;
Arrays.copyOf() 方法返回一个新数组,其元素与指定集合中的元素相同。该方法有两个重载:
- Static
T[] copyOf(T[] original, int newLength):将 original 数组的指定长度复制到一个新数组中。 - static
T[] copyOf(Collection extends T> coll, int newLength):将集合的内容复制到一个指定长度的新数组中。
以下示例演示如何使用 Arrays.copyOf() 方法将集合转换为数组:
List<String> list = new ArrayList<>(); list.add("Java"); list.add("python"); list.add("c++"); // 将集合转换为长度为 list.size() 的数组 String[] array = Arrays.copyOf(list, list.size()); // 打印数组内容 for (String element : array) { System.out.println(element); }
使用 toArray() 方法
集合类还提供了一个 toArray() 方法,该方法将集合的内容复制到一个数组中。该方法有两个重载:
- Object[] toArray():返回一个 Object 类型的数组。
-
T[] toArray(T[] a):返回一个指定类型 T 的数组。
以下示例演示如何使用 toArray() 方法将集合转换为数组:
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); // 将集合转换为 Object[] 数组 Object[] array = list.toArray(); // 将集合转换为 Integer[] 数组 Integer[] intArray = list.toArray(new Integer[0]); // 打印数组内容 for (Integer element : intArray) { System.out.println(element); }