Java ArrayList常用方法

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]