一、集合转数组概述
Java集合框架提供了将集合转换成数组的方法。这种转换允许在需要数组的任何地方使用集合。通过将元素集合存储在数组中,可以利用数组的特定属性(例如,可使用数组的length属性快速访问集合中的元素数量)。
Collection接口提供了两种方法来将集合转换为数组:
Object[] toArray() // 将集合转换成对象数组 <T> T[] toArray(T[] a)// 将集合转换成指定类型的数组
其中第一个方法返回一个Object类型的数组,该数组包含所有元素的集合。第二个方法返回一个指定类型的数组,该数组包含所有元素的集合。
二、toArrray()方法转换为Object类型数组
如果我们调用toArrray()方法并将其结果分配给一个数组类型,那么该数组将包含由Object类表示的所有元素。下面是一个列表示例:
import java.util.*; public class ArrayListToArray { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("JavaFX"); list.add("Hbase"); list.add("WebGL"); list.add("OpenCV"); list.add("Java"); list.add("NodeJS"); Object[] object = list.toArray(); System.out.println("Printing Object Array:"); for(Object obj : object){ System.out.println(obj); } } }
输出结果如下所示:
Printing Object Array: JavaFX Hbase WebGL OpenCV Java NodeJS
三、toArray(T[] a)方法转换为指定类型数组
通常使用带有泛型对象的toArray(T[] a)方法将元素列表转换为指定类型的数组。下面看一下如何使用这个方法:
import java.util.*; public class ArrayListToArray { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("JavaFX"); list.add("Hbase"); list.add("WebGL"); list.add("OpenCV"); list.add("Java"); list.add("NodeJS"); String[] stringArr = new String[list.size()]; list.toArray(stringArr); System.out.println("Printing String Array:"); for(String str : stringArr){ System.out.println(str); } } }
输出结果如下所示:
Printing String Array: JavaFX Hbase WebGL OpenCV Java NodeJS
如以上代码所示,我们通过创建一个数组对象来使用toArray(T[] a)方法将元素列表转换为指定类型的数组,然后再将这个数组对象传递给 toArray() 方法。结果就是一个包含所有元素的具有给定类型的数组。
四、总结
通过使用Java集合框架提供的toArray()方法,我们可以将一个集合转换成数组。这使得在需要使用数组的任何地方使用集合变得更加容易。我们学习了两种方法:toArray() 和 toArray(T[] a),它们可以将元素列表转换为Object类型或指定类型的数组。
下面是完整代码:
import java.util.*; public class ArrayListToArray { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("JavaFX"); list.add("Hbase"); list.add("WebGL"); list.add("OpenCV"); list.add("Java"); list.add("NodeJS"); // toArray() method converts list to an object array Object[] object = list.toArray(); System.out.println("Printing Object Array:"); for(Object obj : object){ System.out.println(obj); } // toArray(T[] a) method converts list to a specified type of array String[] stringArr = new String[list.size()]; list.toArray(stringArr); System.out.println("Printing String Array:"); for(String str : stringArr){ System.out.println(str); } } }