Java中,Map key需要引用相等,这是无法实现的具有像 int[] 这样的原始类型。当使用 int[] 数组并需要将它们用作 Map 中的键时,有必要将它们转换为合适的对象类型。让我们探索一下这种转换的各种选项。
Java 8 引入了一种将 int[] 转换为 Integer[ 的简洁方法] 使用流API:
int[] data = {1,2,3,4,5,6,7,8,9,10};
Integer[] primitiveToBoxed = Arrays
.stream(data)
.boxed()
.toArray(Integer[]::new);
使用IntStream的类似方法:
Integer[] primitiveToBoxed = IntStream
.of(data)
.boxed()
.toArray(Integer[]::new);
虽然 Integer[] 可以作为键,但它可能并不理想,因为:
为了获得更好的性能和关键唯一性,请考虑使用:
请记住,最佳方法取决于数据集的大小和性能要求。选择适当的技术使您能够有效地跟踪数据集中 int[] 组合的频率。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3