首页 >Java >java教程 >Java中如何高效地将List转换为int[]?

Java中如何高效地将List转换为int[]?

Linda Hamilton
Linda Hamilton原创
2024-12-17 12:55:25607浏览

How Can I Efficiently Convert a List to an int[] in Java?

转换列表 Java 中 int[] 的转换:使用 Java 8 Streams 的解决方案

Java 程序员经常遇到需要将 List 转换为 String 的情况。到 int[] 数组。虽然可以使用循环进行此转换,但它效率低下且容易出错。幸运的是,Java 8 流提供了更简洁、优雅的解决方案。

1.使用mapToInt()

Streams提供mapToInt()方法,它允许您将流的每个元素转换为原始int值。将列表转换为使用mapToInt()转换为int[],请按照以下步骤操作:

import java.util.List;

class ListToIntArrayExample {

    public static void main(String[] args) {
        List<Integer> list = List.of(1, 2, 3, 4, 5);

        // Convert the list to an int[] using mapToInt()
        int[] intArray = list.stream()
                              .mapToInt(Integer::intValue)
                              .toArray();

        // Print the converted int[]
        for (int i : intArray) {
            System.out.println(i);
        }
    }
}

在此示例中,我们在列表上使用stream()方法来创建整数流。然后,我们应用带有 lambda 表达式的 mapToInt() 方法,该表达式仅返回每个元素的整数值。最后,我们使用 toArray() 将流转换回 int[].

2。使用拆箱

由于编译器知道mapToInt()中的lambda结果必须是int类型,因此我们可以通过省略显式转换为int来简化lambda:

...
int[] intArray = list.stream()
                      .mapToInt(i -> i)
                      .toArray();
...

3。推断泛型类型

由于编译器可以推断流的泛型类型,因此我们可以在 lambda 中省略 Integer 类型:

...
int[] intArray = list.stream()
                      .mapToInt(i -> i)
                      .toArray();
...

这些方法提供了高效且简单的方法转换 List 的方法Java 中的 int[]。

以上是Java中如何高效地将List转换为int[]?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn