将 Integer 列表转换为 Int 数组

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

本实验将指导你在 Java 中将整数列表(Integer List)转换为整型数组(Int Array)。有两种方法可以实现这一目标——使用 stream.mapToInt() 方法或使用 ArrayUtils.toPrimitive() 方法。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("`Java`")) -.-> java/DataStructuresGroup(["`Data Structures`"]) java(("`Java`")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["`Object-Oriented and Advanced Concepts`"]) java(("`Java`")) -.-> java/FileandIOManagementGroup(["`File and I/O Management`"]) java/DataStructuresGroup -.-> java/arrays("`Arrays`") java/DataStructuresGroup -.-> java/arrays_methods("`Arrays Methods`") java/DataStructuresGroup -.-> java/collections_methods("`Collections Methods`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("`Packages / API`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("`ArrayList`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/generics("`Generics`") java/FileandIOManagementGroup -.-> java/stream("`Stream`") subgraph Lab Skills java/arrays -.-> lab-117397{{"`将 Integer 列表转换为 Int 数组`"}} java/arrays_methods -.-> lab-117397{{"`将 Integer 列表转换为 Int 数组`"}} java/collections_methods -.-> lab-117397{{"`将 Integer 列表转换为 Int 数组`"}} java/packages_api -.-> lab-117397{{"`将 Integer 列表转换为 Int 数组`"}} java/arraylist -.-> lab-117397{{"`将 Integer 列表转换为 Int 数组`"}} java/generics -.-> lab-117397{{"`将 Integer 列表转换为 Int 数组`"}} java/stream -.-> lab-117397{{"`将 Integer 列表转换为 Int 数组`"}} end

导入所需的库

要使用 ArrayUtils.toPrimitive() 方法,我们需要导入 org.apache.commons.lang3.ArrayUtils 包。在你的 Java 文件开头添加以下导入语句:

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;

创建一个 Integer 列表

现在,我们将创建一个包含一些值的 Integer 列表。添加以下代码来创建一个 Integer 列表:

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);

使用 stream.mapToInt() 方法将 Integer 列表转换为 Int 数组

通过步骤 3 中创建的 Integer 列表,我们现在可以使用 stream.mapToInt() 方法将其转换为 Int 数组。将以下代码块添加到你的 Java 文件中:

int[] arr = list.stream().mapToInt(i -> i).toArray();
for (int val : arr) {
    System.out.println(val);
}

在这里,stream.mapToInt() 方法被调用在 Integer 列表上,将其转换为 IntStream。然后在此 IntStream 上调用 toArray() 方法,将其转换为 Int 数组。

要在终端中运行代码,首先通过运行 javac IntegerListToIntArray.java 编译 Java 程序,然后运行 java IntegerListToIntArray

使用 ArrayUtils.toPrimitive() 方法将 Integer 列表转换为 Int 数组

我们也可以使用 ArrayUtils.toPrimitive() 方法将 Integer 列表转换为 Int 数组。将以下代码块添加到你的 Java 文件中以使用此方法:

int[] arr = ArrayUtils.toPrimitive(list.toArray(new Integer[list.size()]));
for (int val : arr) {
    System.out.println("int primitive: " + val);
}

在这里,toArray() 方法被调用在 Integer 列表上,将其转换为 Object 数组。然后,将此 Object 数组传递给 toPrimitive() 方法,该方法返回一个 Int 数组。

要在终端中运行代码,首先通过运行 javac IntegerListToIntArray.java 编译 Java 程序,然后运行 java IntegerListToIntArray

总结

在本实验中,我们学习了如何在 Java 中将 Integer 列表转换为 Int 数组。我们探索了两种不同的方法来实现这一目标——使用 stream.mapToInt() 方法和 ArrayUtils.toPrimitive() 方法——并提供了实现每种方法的示例代码块。通过遵循这些步骤,你现在应该能够在你的 Java 程序中将 Integer 列表转换为 Int 数组。

您可能感兴趣的其他 Java 教程