如何将映射键的 int[] 转换为 Integer[]
在 Java 中使用集合和映射时,重要的是意识到原始数据类型的局限性。在某些情况下,例如当您需要将整数数组作为键存储在 Map 中时,不能直接使用原始 int[] 数组,因为 Map 键必须是对象。这就是将 int[] 转换为 Integer[] 派上用场的地方。
在您的特定情况下,您有一个大型的 int[] 数组数据集,并且想要创建一个 Map
Java 8(单行)
Java 8 提供了一种使用流将 int[] 转换为 Integer[] 的简单方法:
<code class="java">int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // To boxed array Integer[] boxedData = Arrays.stream(data).boxed().toArray(Integer[]::new);</code>
使用收集器
或者,您可以使用收集器将 int[] 转换为 List
<code class="java">int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // To boxed list List<Integer> boxedList = Arrays.stream(data).boxed().collect(Collectors.toList()); // To boxed array Integer[] boxedData = boxedList.toArray(new Integer[boxedList.size()]);</code>
注意:
虽然可以将 int[] 转换为 Integer[] 用作映射键,但重要的是要考虑使用数组作为键的缺点。其中包括:
大多数情况下,建议使用自定义对象或包装类作为映射键而不是数组。
以上是如何将 Java 中的映射键的 `int[]` 转换为 `Integer[]`?的详细内容。更多信息请关注PHP中文网其他相关文章!