Java 中把 Int 陣列轉換為陣列列表

Rupam Yadav 2023年10月12日
  1. 使用 Java 8 Stream 將一個 int 陣列轉換為 ArrayList
  2. 在 Java 中使用增強的 for 迴圈將一個 int 陣列轉換為一個 ArrayList
  3. 使用 Guavaint 陣列轉換為整數物件列表
Java 中把 Int 陣列轉換為陣列列表

本教程介紹了我們如何在 Java 中把一個原始 int 的陣列轉換為 ArrayList。我們不能建立一個原始資料型別的 ArrayList,所以我們將使用 Integer 物件。

使用 Java 8 Stream 將一個 int 陣列轉換為 ArrayList

這個例子使用了 Arrays 類的 Stream API,它提供了幾種方法來操作一個陣列。為了使之工作,我們首先建立一個 int 元素的陣列,並使用 Arrays 類呼叫 stream() 方法。但是由於 intArray 的項是基本資料型別的,所以我們必須使用 boxed() 將每個基元框定為一個 Integer 物件。

collect() 方法收集這些項,Collectors.toList() 將它們轉換為一個列表。我們可以將返回的列表轉換為 ArrayList<Integer>

import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;

public class IntToInteger {
  public static void main(String[] args) {
    int[] intArray = {10, 20, 30, 40};

    ArrayList<Integer> integerArray =
        (ArrayList<Integer>) Arrays.stream(intArray).boxed().collect(Collectors.toList());

    System.out.println(integerArray);
  }
}

輸出:

[10, 20, 30, 40]

在 Java 中使用增強的 for 迴圈將一個 int 陣列轉換為一個 ArrayList

我們可以使用手動方法將陣列中的每個專案新增到 ArrayList 中。這個方法不使用任何函式,相反,一個增強的 for 迴圈就足以讓它發揮作用。我們建立一個包含一些 int 型別元素的陣列 intArray 和一個初始大小等於 intArray 大小的空 ArrayList。

現在,由於 ArrayList 的容量正好可以容納 intArray 的元素,我們可以使用增強的 for 迴圈,並呼叫 add() 方法將一個專案新增到 ArrayList 中。for 迴圈將在陣列中迭代,每一個專案都會被新增到 ArrayList 中。

我們可以在輸出中看到,我們得到的元素與 intArray 相同。

import java.util.ArrayList;

public class IntToInteger {
  public static void main(String[] args) {
    int[] intArray = {13, 17, 21, 23};

    ArrayList<Integer> integerArray = new ArrayList<>(intArray.length);

    for (int i : intArray) {
      integerArray.add(i);
    }

    System.out.println(integerArray);
  }
}

輸出:

[13, 17, 21, 23]

使用 Guavaint 陣列轉換為整數物件列表

在這個例子中,我們使用了包含在 Guava 庫中的 Ints 類。為了使用該庫的函式,我們將其 maven 依賴關係加入到專案中。

<dependency>
   <groupId>com.google.guava</groupId>
   <artifactId>guava</artifactId>
   <version>23.5-jre</version> 
</dependency>

intArray 是一個包含 int 型別元素的陣列。我們使用 Ints 類來呼叫 asList(),並將陣列作為引數傳遞。Ints.asList(intArray) 返回一個 Integer 物件的列表。

import com.google.common.primitives.Ints;
import java.util.List;

public class IntToInteger {
  public static void main(String[] args) {
    int[] intArray = {13, 17, 21, 23};

    List<Integer> integerArray = Ints.asList(intArray);

    System.out.println(integerArray);
  }
}

輸出:

[13, 17, 21, 23]
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java Array

相關文章 - Java ArrayList