Java ArrayList toArray()
方法 望文生义,用于将arraylist集合转为数组。
语法
它有两种类型的语法,语法如下:public Object[] toArray();//转为object类型的数组
public T[] toArray(T[] elements); //转为指定类型的数组,根据数组的类型
参数
- elements: 指定要转换的类型
返回值
返回所有元素的数组。
注意
第一种转为object类型
第二种转为指定类型,当然要和原来的arraylist保持一致。
内部实现
public Object[] toArray() {
return Arrays.copyOf(elementData, size);
}
public <T> T[] toArray(T[] a) {
if (a.length < size)
// Make a new array of a's runtime type, but my contents:
return (T[]) Arrays.copyOf(elementData, size, a.getClass());
System.arraycopy(elementData, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
例子
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ArrayListExampleToArray {
public static void main(String[] args) {
List<Integer> arrayList= new ArrayList<Integer>();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.add(4);
arrayList.add(5);
// 第一种方式,转为object类型
Object[] arr = arrayList.toArray();
//输出
System.out.println(Arrays.toString(arr));
//第二种方式,转为指定类型的数组
Integer[] arr2 = arrayList.toArray(new Integer[arrayList.size()]);
System.out.println(Arrays.toString(arr2));
}
}
输出:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]