Java 中可以將陣列轉換為列表,然後再轉換回陣列嗎?


List 提供了兩種將 List 轉換為陣列的方法。

1. 使用無引數的 toArray() 方法。

Object[] toArray()

返回值

一個包含此列表中所有元素的陣列,元素順序正確。

2. 使用帶陣列引數的 toArray() 方法。

<T> T[] toArray(T[] a)

型別引數

  • − 陣列的執行時型別。

引數

  • − 將此列表的元素儲存到的陣列,如果陣列足夠大;否則,將為此目的分配一個具有相同執行時型別的新的陣列。

返回值

包含此列表元素的陣列。

丟擲異常

  • ArrayStoreException − 如果指定陣列的執行時型別不是此列表中每個元素的執行時型別的超型別。

  • NullPointerException − 如果指定的陣列為空。

為了將陣列轉換為列表,我們可以使用 Arrays.asList() 方法獲取包含陣列所有元素的列表。

public static <T> List<T> asList(T... a)

型別引數

  • − 元素的執行時型別。

引數

  • − 列表將以此陣列為後盾。

返回值

指定陣列的列表檢視。

示例

以下示例展示了 toArray() 和 Arrays.asList() 方法的使用 −

package com.tutorialspoint;

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

public class CollectionsDemo {
   public static void main(String[] args) {
      Integer[] array = {1, 2, 3, 4, 5};

      // array to List conversion
      List<Integer> list = new ArrayList<>(Arrays.asList(array));
      System.out.println("List: " + list);

      // list to array conversion
      Object[] items = list.toArray();
      for (Object object : items) {
         System.out.print(object + " ");
      }
      System.out.println();

      // list to array conversion
      Integer[] numbers = list.toArray(new Integer[0]);
      for (int number : numbers) {
         System.out.print(number + " ");
      }
   }
}

輸出

這將產生以下結果 −

List: [1, 2, 3, 4, 5]
1 2 3 4 5
1 2 3 4 5

更新於: 2022-05-09

195 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.