Java中AbstractSequentialList toArray(T[])方法及范例
Java中的AbstractSequentialList类可以实现接口List,是一个顺序访问的集合。它提供了许多方法,其中一个是toArray(T[])方法。本文将深入探讨该方法的用法以及一些范例。
toArray(T[])方法
toAray(T[])方法作用是返回包含在此列表中的元素的数组。方法的声明如下:
<T> T[] toArray(T[] a)
需要注意的是,如果指定的数组本身可以容纳列表,即该数组的长度大于等于列表大小,则会直接在此数组中存储元素,也就是说,该数组将被重复利用。否则,将分配一个新数组来存储列表中的所有元素,并返回这个新数组。
调用toArray(T[])方法的示例
以下是一个示例程序,展示如何在ArrayList中使用toArray(T[])方法:
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
String[] arr = new String[list.size()];
arr = list.toArray(arr);
for(String item : arr) {
System.out.println(item);
}
}
}
上述程序以ArrayList类型的对象list为例。在程序中,首先创建一个包含三个元素的ArrayList,然后创建一个String类型的数组。接着,将该数组作为参数传递给toArray(T[])方法。这会导致该数组被填充上ArrayList中的元素,之后该数组被赋值给arr变量,最后将arr中的所有元素遍历并打印出来。
把LinkedList中的所有元素转换成数组
以下是一个示例程序,展示如何把LinkedList中的所有元素转换成数组:
import java.util.*;
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<String>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
String[] arr = new String[list.size()];
arr = list.toArray(arr);
for(String item: arr) {
System.out.println(item);
}
}
}
在上述程序中,我们首先创建一个LinkedList对象list并加入三个元素。接着创建一个String类型的数组,将其作为参数传递给LinkedList类的toArray(T[])方法。之后将arr中的所有元素遍历并打印出来。
把TreeSet中的所有元素转换成数组
以下是一个示例程序,展示如何把TreeSet中的所有元素转换成数组:
import java.util.*;
public class Main {
public static void main(String[] args) {
TreeSet<String> set = new TreeSet<String>();
set.add("Apple");
set.add("Banana");
set.add("Orange");
String[] arr = new String[set.size()];
arr = set.toArray(arr);
for(String item: arr) {
System.out.println(item);
}
}
}
在上述程序中,我们首先创建一个TreeSet对象set并加入三个元素。接着创建一个String类型的数组,将其作为参数传递给TreeSet类的toArray(T[])方法。之后将arr中的所有元素遍历并打印出来。
结论
Java中的AbstractSequentialList toArray(T[])方法可用于将列表转换为数组。需要注意的是,如果传递给该方法的数组能够容纳列表中的所有元素,则列表的元素将被直接复制到这个数组中。否则,会新建一个具有相同元素但更大容量的数组并返回。如果在使用此方法时出现问题,请检查传递给该方法的数组是不是足够大以充分存储列表中的所有元素。