Java.util.ArrayList.toArray(T[]) 方法

描述

java.util.ArrayList.toArray(T[]) 方法返回一个数组,其中包含此列表中的所有元素,并按正确的顺序(从第一个元素到最后一个元素)。以下是关于 ArrayList 的要点 .toArray() −

  • 返回数组的运行时类型是指定数组的类型。 如果列表适合指定的数组,则在其中返回。 否则,将使用指定数组的运行时类型和此列表的大小分配一个新数组。

  • 如果列表适合指定的数组并有剩余空间(即,数组的元素比列表多),则数组中紧跟集合末尾的元素设置为 null。


声明

以下是 java.util.ArrayList.toArray() 方法的声明

public <T> T[] toArray(T[] a)

参数

a − 这是存储列表元素的数组,如果它足够大的话; 否则,将为此目的分配一个相同运行时类型的新数组。


返回值

此方法返回一个包含列表元素的数组。


异常

  • ArrayStoreException − 如果指定数组的运行时类型不是此列表中每个元素的运行时类型的超类型。

  • NullPointerException − 如果指定的数组为空。


示例

下面的例子展示了 java.util.Arraylist.toArray() 方法的使用。

package com.tutorialspoint;

import java.util.ArrayList;

public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list with an initial capacity
      ArrayList<Integer> arrlist = new ArrayList<Integer>();

      // use add() method to add values in the list
      arrlist.add(10);
      arrlist.add(12);
      arrlist.add(31);
      arrlist.add(49);
      
      System.out.println("Printing elements of array1");

      // let us print all the elements available in list
      for (Integer number : arrlist) {
         System.out.println("Number = " + number);
      }  

      // toArray copies content into other array
      Integer list2[] = new Integer[arrlist.size()];
      list2 = arrlist.toArray(list2);

      System.out.println("Printing elements of array2");

      // let us print all the elements available in list
      for (Integer number : list2) {
         System.out.println("Number = " + number);
      }
   }
} 

让我们编译并运行上面的程序,这将产生以下结果 −

Printing elements of array1
Number = 10
Number = 12
Number = 31
Number = 49
Printing elements of array2
Number = 10
Number = 12
Number = 31
Number = 49