📜  Java ArrayList toArray()

📅  最后修改于: 2020-09-27 00:32:06             🧑  作者: Mango

Java ArrayList的toArray()方法将一个arraylist转换为一个数组并返回它。

toArray()方法的语法为:

arraylist.toArray(T[] arr)

在这里, arraylistArrayList类的对象。


toArray()参数

toArray()方法可以采用单个参数。

  • T [] arr (可选)-用于存储arraylist元素的数组

注意 :这里, T指定数组的类型。


toArray()返回值
  • 如果参数T[] arr传递给方法,则返回T类型的数组
  • 如果未传递参数,则返回Object类型的数组

示例1:带有参数的ArrayList toArray()方法
import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList languages= new ArrayList<>();

    // Add elements in the ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("C");
    System.out.println("ArrayList: " + languages);

    // Create a new array of String type
    // size of array is same as the ArrayList
    String[] arr = new String[languages.size()];

    // Convert ArrayList into an array
    languages.toArray(arr);

    // print all elements of the array
    System.out.print("Array: ");
    for(String item:arr) {
      System.out.print(item+", ");
    }
  }
}

输出

ArrayList: [Java, Python, C]
Array: Java, Python, C,

在上面的示例中,我们创建了一个名为language的数组列表。注意这一行,

languages.toArray(arr);

在这里,我们传递了一个String类型的数组作为参数。因此,arraylist的所有元素都存储在数组中。

注意 :作为参数传递的数组的大小应等于或大于arraylist。因此,我们使用了ArrayList size()方法来创建与arraylist大小相同的数组。


示例2:不带参数的ArrayList toArray()方法
import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList languages= new ArrayList<>();

    // Add elements in the ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("C");
    System.out.println("ArrayList: " + languages);

    // Convert ArrayList into an array
    // the method has no parameter
    Object[] obj = languages.toArray();

    // print all elements of the array
    System.out.print("Array: ");
    for(Object item : obj) {
      System.out.print(item+", ");
    }
  }
}

输出

ArrayList: [Java, Python, C]
Array: Java, Python, C, 

在上面的示例中,我们使用了toArray()方法将arraylist转换为数组。在此,该方法不包括可选参数。因此,将返回对象数组。

注意 :建议对参数使用toArray()方法。