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]
使用 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]
相关文章
如何在 Java 中延迟几秒钟的时间
发布时间:2023/12/17 浏览次数:217 分类:Java
-
本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。
如何在 Java 中把 Hashmap 转换为 JSON 对象
发布时间:2023/12/17 浏览次数:187 分类:Java
-
它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。
如何在 Java 中按值排序 Map
发布时间:2023/12/17 浏览次数:171 分类:Java
-
本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map
进行排序,并列出了一些示例代码来理解它。
如何在 Java 中打印 HashMap
发布时间:2023/12/17 浏览次数:192 分类:Java
-
本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。
在 Java 中更新 Hashmap 的值
发布时间:2023/12/17 浏览次数:146 分类:Java
-
本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。
Java 中的 hashmap 和 map 之间的区别
发布时间:2023/12/17 浏览次数:79 分类:Java
-
本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:218 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:179 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:111 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,