欢迎光临
我们一直在努力

如何将Java中的int数组转换为List?

将 int[] 数组转换为 List

如何将Java中的int数组转换为List?

在 Java 中,有时我们需要将一个int[] 数组转换为List<Integer>,这可以通过多种方式实现,下面介绍几种常见的方法。

方法一:使用 Arrays.stream()

Java 8 引入了流(Stream)API,可以方便地将数组转换为集合。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        List<Integer> list = Arrays.stream(array)
                                   .boxed()
                                   .collect(Collectors.toList());
        System.out.println(list);
    }
}

方法二:使用循环手动添加元素

如果你使用的是 Java 7 或更早的版本,没有 Stream API,可以使用循环手动将数组元素添加到列表中。

import java.util.ArrayList;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        List<Integer> list = new ArrayList<>();
        for (int i : array) {
            list.add(i);
        }
        System.out.println(list);
    }
}

方法三:使用 Apache Commons Lang 库

如果你使用了 Apache Commons Lang 库,可以利用其中的ArrayUtils 类来简化操作。

确保你已经添加了依赖:

如何将Java中的int数组转换为List?

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commonslang3</artifactId>
    <version>3.12.0</version>
</dependency>

你可以这样转换:

import org.apache.commons.lang3.ArrayUtils;
import java.util.Arrays;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        Integer[] boxedArray = ArrayUtils.toObject(array);
        List<Integer> list = Arrays.asList(boxedArray);
        System.out.println(list);
    }
}

方法四:使用 Guava 库

Google 的 Guava 库也提供了类似的功能,确保你已经添加了依赖:

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

你可以这样转换:

import com.google.common.primitives.Ints;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        List<Integer> list = Ints.asList(array);
        System.out.println(list);
    }
}

相关问题与解答

问题一:如何将List<Integer> 转换回int[]

要将List<Integer> 转换回int[],可以使用以下方法:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
        int[] array = list.stream().mapToInt(Integer::intValue).toArray();
        System.out.println(Arrays.toString(array));
    }
}

问题二:为什么需要将int[] 转换为List<Integer>

如何将Java中的int数组转换为List?

int[] 转换为List<Integer> 的原因有很多,以下是一些常见的场景:

1、利用集合框架的功能List 接口提供了丰富的方法,如排序、过滤、查找等,这些在数组中并不直接支持。

2、兼容性:某些 API 只接受List 类型的参数,而你手头的数据是数组形式。

3、灵活性List 可以动态调整大小,而数组的大小是固定的,在某些情况下,使用List 可以提供更大的灵活性。

以上内容就是解答有关“Java中将 int[] 数组 转换为 List分享”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《如何将Java中的int数组转换为List?》
文章链接:https://yuyunkj.com/article/9903.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发