如何在 Java 中將列表轉換為陣列

Hassan Saeed 2023年1月30日 2020年10月27日
  1. 在 Java 中將列表轉換成陣列
  2. 在 Java 中使用 toArray() 將列表轉換為引用型別的陣列
  3. 在 Java 中使用 stream() 將一個列表轉換為一個陣列
如何在 Java 中將列表轉換為陣列

本教程討論了在 Java 中把一個列表轉換為陣列的方法。

在 Java 中將列表轉換成陣列

此方法只是建立一個與列表大小相同的新陣列,並在列表上迭代,向陣列中填充元素。下面的例子說明了這一點。

import java.util.*;
public class MyClass {
    public static void main(String args[]) {
        List<Integer> list = new ArrayList();
        list.add(1);
        list.add(2);
        int[] array = new int[list.size()];
        for(int i = 0; i < list.size(); i++) 
            array[i] = list.get(i);
    }
}

結果陣列包含了列表中的所有元素。注意,如果生成的陣列是非原生型別,則不應使用此方法。

在 Java 中使用 toArray() 將列表轉換為引用型別的陣列

如果列表包含引用型別的元素,如類的物件,則使用該方法。我們可以使用內建的 toArray() 方法將這種型別的列表轉換為陣列。下面的例子說明了這一點。

import java.util.*;
public class MyClass {
    public static void main(String args[]) {
        List<Foo> list = new ArrayList();
        list.add(obj);
        Foo[] array = list.toArray(new Foo[0]);

    }
}

在 Java 中使用 stream() 將一個列表轉換為一個陣列

對於 Java 8 及以上的版本,我們也可以使用 Stream API 的 stream() 方法在 Java 中將列表轉換為陣列。下面的例子說明了這一點。

import java.util.*;
public class MyClass {
    public static void main(String args[]) {
        List<Integer> list = new ArrayList();
        list.add(1);
        list.add(2);
        Integer[] integers = list.stream().toArray(Integer[]::new);
    }
}

相關文章 - Java Array