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