Java ArrayList toArray()方法及示例
ArrayList类toArray()方法
语法:
public Object[] toArray();
public T[] toArray(T[] elements);toArray()方法在java.util包中可用。
toArray()方法用于将给定的Arraylist转换为数组,换句话说,该方法用于返回包含该Arraylist中所有元素的数组。
toArray(T[]elements)方法用于返回运行时类型为给定数组T[]的数组,当此Arraylist适合给定数组时,将返回同一数组,否则分配新数组给定数组的类型。
toArray()方法在返回数组时不会引发异常。
toArray(T[]elements)方法在返回数组时可能会引发异常。
ArrayStoreException:如果给定数组T[]的动态类型不是此Arraylist中元素的动态类型的父类型,则可能引发此异常。
NullPointerException:当给定数组为null时,可能引发此异常。
这些是非静态方法,可通过类对象访问,如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,toArray():它不接受任何参数。
在第二种情况下,toArray(T[]elements):
T[]elements–表示要存储元素的数组,当它能够存储其他元素时,它将根据相同动态类型的大小创建一个新数组。
返回值:
在第一种情况下,方法的返回类型为Object(),它返回一个Object类型的数组,其中包含此Arraylist中的所有元素。
在第二种情况下,该方法的返回类型为T[],它将返回一个包含该数组所有元素的数组。
示例
//Java程序演示示例
//toArray()ArrayList的void方法的说明
import java.util.*;
public class ToArrayOfArrayList {
public static void main(String args[]) {
//创建一个具有初始容量的ArrayList-
//存储元素
ArrayList < String > arr_l = new ArrayList < String > (10);
String str_l[] = new String[4];
//通过使用add()方法是添加元素
//在ArrayList-
arr_l.add("C");
arr_l.add("C++");
arr_l.add("Java");
arr_l.add("DotNet");
//显示ArrayList-
System.out.println("ArrayList Elements :" + arr_l);
System.out.println();
//显示字符串数组
for (String s: str_l)
System.out.println("str_l :" + s);
//通过使用toArray()方法是将
//集合到数组
Object[] o = arr_l.toArray();
System.out.println();
//显示ArrayList-
for (Object val: arr_l)
System.out.println("arr_l.toArray() : " + val);
//通过使用toArray(T[])方法可简化
//给定数组的集合
str_l = arr_l.toArray(str_l);
System.out.println();
//显示str_l-
for (String val1: str_l)
System.out.println("arr_l.toArray(str_l) : " + val1);
}
}输出结果
ArrayList Elements :[C, C++, Java, DotNet] str_l :null str_l :null str_l :null str_l :null arr_l.toArray() : C arr_l.toArray() : C++ arr_l.toArray() : Java arr_l.toArray() : DotNet arr_l.toArray(str_l) : C arr_l.toArray(str_l) : C++ arr_l.toArray(str_l) : Java arr_l.toArray(str_l) : DotNet