Java 中把 Int 数组转换为数组列表
-
使用 Java 8 Stream 将一个
int
数组转换为 ArrayList -
在 Java 中使用增强的
for
循环将一个int
数组转换为一个 ArrayList -
使用
Guava
将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]
使用 Guava
将 int
数组转换为整数对象列表
在这个例子中,我们使用了包含在 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 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 中连接两个数组
- 如何在 Java 中以十六进制字符串转换字节数组
- 用 Java 从数组中删除重复项
- 在 Java 中对数组进行切片
- 在 Java 中不使用 sort() 方法对数组进行排序
- Java 中的列表与数组