如何在 Java 中把一个数组转换为一个列表

Hassan Saeed 2023年10月12日
  1. 创建一个空列表并添加所有元素
  2. 在 Java 中使用 Arrays.asList() 把一个数组转换为一个列表
  3. 在 Java 中使用 new ArrayList<>(Arrays.asList(arr)) 把一个数组转换为一个列表
如何在 Java 中把一个数组转换为一个列表

本教程讨论了在 Java 中把数组转换为列表的三种方法。

创建一个空列表并添加所有元素

这是一种非常简单且显而易见的方法。我们可以创建一个空列表,遍历数组中的所有元素,然后将它们添加到列表中。

下面的例子就说明了这一点。

import java.util.*;
import java.util.stream.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = new ArrayList<>();
    for (int i = 0; i < myArray.length; i++) {
      myList.add(myArray[i]);
    }
    System.out.println(myList);
  }
}

输出:

> [1, 2, 3]

在 Java 中使用 Arrays.asList() 把一个数组转换为一个列表

我们可以使用 Arrays 类提供的内置方法将一个数组转换为一个列表-Arrays.asList(arr)。确保在你的代码中导入 java.util.*

下面的例子说明了这一点。

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = Arrays.asList(myArray);
    System.out.println(myList);
  }
}

输出:

> [1, 2, 3]

然而,这个方法的结果是一个固定大小的列表,我们不能向其添加更多元素。

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = Arrays.asList(myArray);
    myList.add("4");
  }
}

这将导致

> Exception in thread "main" java.lang.UnsupportedOperationException
	at java.base/java.util.AbstractList.add(AbstractList.java:153)
	at java.base/java.util.AbstractList.add(AbstractList.java:111)
	at MyClass.main(MyClass.java:6)

在 Java 中使用 new ArrayList<>(Arrays.asList(arr)) 把一个数组转换为一个列表

这个方法,new ArrayList<>(Arrays.asList(integers)); 允许你将一个数组转换为一个列表,并添加你也可以添加额外的元素到结果列表中。下面的例子说明了这一点。

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = new ArrayList<>(Arrays.asList(myArray));
    System.out.println("After conversion from array to list: " + myList);
    myList.add("4");
    System.out.println("After adding a new element: " + myList);
  }
}

输出:

> After conversion from array to list: [1, 2, 3]
> After adding a new element: [1, 2, 3, 4]

相关文章 - Java Array

相关文章 - Java List