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

本教程文章将介绍在 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

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