Java ArrayList toArray()

toArray() 方法的语法是

arraylist.toArray(T[] arr)

在这里,arraylist对象ArrayList 类的一个 对象


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<String> 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,

在上面的示例中,我们创建了一个名为 languages 的 ArrayList。请注意这一行:

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<String> 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() 方法。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战