Java 中,Map 键需要引用相等,这是无法实现的具有像 int[] 这样的原始类型。当使用 int[] 数组并需要将它们用作 Map 中的键时,有必要将它们转换为合适的对象类型。让我们探索一下这种转换的各种选项。
Java 8 引入了一种将 int[] 转换为 Integer[ 的简洁方法] 使用流 API:
<code class="java">int[] data = {1,2,3,4,5,6,7,8,9,10}; Integer[] primitiveToBoxed = Arrays .stream(data) .boxed() .toArray(Integer[]::new);</code>
使用 IntStream 的类似方法:
<code class="java">Integer[] primitiveToBoxed = IntStream .of(data) .boxed() .toArray(Integer[]::new);</code>
虽然 Integer[] 可以用作键,但它可能并不理想,因为:
为了获得更好的性能和密钥唯一性,请考虑使用:
记住,最好的方法取决于数据集的大小和性能要求。选择适当的技术使您能够有效地跟踪数据集中 int[] 组合的频率。
以上是如何将 int[] 转换为 Integer[] 以用作 Java 中的映射键?的详细内容。更多信息请关注PHP中文网其他相关文章!