HOWTO · Java

如何在 Java 中从数组创建数组列表

本教程演示了如何在 Java 中使用各种方法从 Array 创建 ArrayList,并有详尽的描述和示例。

本页内容

本教程文章将介绍在 Java 中从数组创建数组列表的不同方法。在 Java 中,有三种不同的方法可以将数组转换为数组列表,如 Arrays.asList()、Collections.addAll() 和 add()。

在继续演示之前,我们先来了解一下什么是数组和数组列表,以及它们之间的区别。

什么是 Java 中的数组

数组是一个固定数量的类似类型数据的集合。例如,如果我们想存储 50 本书的数据,我们可以创建一个字符串类型的数组,可以容纳 50 本书。创建后,数组的长度是固定的。数组是 Java 的基本内置功能。

String[] array = new String[50];

Java 中的数组列表是什么

数组列表是一个可调整大小的数组,它存储了在 java.util 包中找到的元素的动态集合。

Java 中的数组和数组列表的区别

数组和数组列表之间的主要区别是,数组的长度不能被修改或扩展。要向数组添加或删除元素,我们必须创建一个新的列表。而数组列表由于其可调整大小的特性,可以在任何时候向/从 ArrayList 中添加或删除元素。

使用 Array.asList() 将数组转换为数组列表

使用 Arrays.asList(),将数组传给该方法,得到一个列表对象,该对象再次作为参数传给数组列表类的构造函数。Array.asList() 的语法如下。

ArrayList<T> arraylist = new ArrayList<T>(Arrays.asList(arrayname));

让我们按照下面的例子进行操作。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Method1 {
  public static void main(String[] args) {
    String[] subjects = {"maths", "english", "history", "physics"};
    ArrayList<String> sublist = new ArrayList<String>(Arrays.asList(subjects));
    sublist.add("geography");
    sublist.add("chemistry");

    for (String str : sublist) {
      System.out.println(str);
    }
  }
}

输出:

maths
english
history
physics
geography
chemistry

使用 Collections.addAll() 将数组转换为数组列表

该方法列出一个确定的集合中的所有数组元素,几乎与 Arrays.asList() 类似。然而,Collections.addAll() 与 Arrays.asList() 方法相比,在性能上要快得多。Collections.addAll() 的语法如下。

Collections.addAll(arraylist, new Element(1), new Element(2), new Element(3), new Element(4));

让我们来理解下面的例子。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Method2 {
  public static void main(String[] args) {
    String[] names = {"john", "emma", "rick", "tim"};
    ArrayList<String> namelist = new ArrayList<String>();
    Collections.addAll(namelist, names);
    namelist.add("jenny");
    namelist.add("rob");

    for (String str : namelist) {
      System.out.println(str);
    }
  }
}

输出:

john
emma
rick
tim
jenny
rob

使用 add() 将数组转换为数组列表

使用这个方法,我们可以创建一个新的列表,并以更简单的方式添加列表元素。add() 方法的语法如下。

arraylist.add(element);

让我们看看下面的例子。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Method3 {
  public static void main(String[] args) {
    ArrayList<String> planetlist = new ArrayList<String>();
    String[] planets = {"earth", "mars", "venus", "jupiter"};
    for (int i = 0; i < planets.length; i++) {
      planetlist.add(planets[i]);
    }
    for (String str : planetlist) {
      System.out.println(str);
    }
  }
}

输出:

earth
mars
venus
jupiter

按照上面的方法,我们现在可以很容易地将数组转换为数组列表。