在 Java 中实现 ArrayList 和数组互转

在这个例子中,我们将学习在 Java 中将 ArrayList 转换为数组,或将数组转为 ArrayList。

要理解此示例,您应该具备以下 Java 编程的知识:

示例 1:将 Arraylist 转换为 Array

import java.util.ArrayList;

public 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("JavaScript");
    System.out.println("ArrayList: " + languages);

    // Create a new array of String type
    String[] arr = new String[languages.size()];

    // Convert ArrayList into the string array
    languages.toArray(arr);
    System.out.print("Array: ");
    for(String item:arr) {
      System.out.print(item+", ");
    }
  }
}

输出

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

在上面的例子中,我们创建了一个名为 languages 的 ArrayList. 注意这行代码,

languages.toArray(arr);

这里, toArray() 方法将此 ArrayList 对象转换成一个数组。并将其存储在字符串数组 arr 中.

注意:如果我们不向该 toArray() 方法传递任何参数,该方法将返回该 Object 类型的数组。

示例 2:将 Array 转换为 ArrayList

import java.util.Arrays;
import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {

    // create an array
    String[] array = {"Java", "Python", "C"};
    System.out.println("Array: " + Arrays.toString(array));

    // convert array to arraylist
    List<String> languages= new ArrayList<>(Arrays.asList(array));

    System.out.println("ArrayList: " + languages);

  }
}

输出

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

在上面的例子中,我们创建了一个 String 类型的数组。注意这个表达式,

Arrays.asList(array)

在这里, Arrays 类的 asList() 方法将指定的数组转换为一个列表。