在 HashMap 中存储具有原始 int 的 Integer 对象
HashMap 使用对象作为键。如果您使用 int 基元作为键,它会使用自动装箱并为键创建整数对象。
是否有任何 hashmap 实现使用原始类型作为键。我不想自动装箱。因为整数的 hascode 也是整数的值。
我正在尝试创建整数对象池。
HashMap uses objects as a key. If you use int primitive as key, it uses auto boxing and create integer objects for key.
is there any hashmap implementation uses primitive types as key. I dont want autoboxing. becuase hascode of integer is also value of integer.
I am trying to create integer object pool.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,您可以使用 trove 库。它提供 int -> object (和 int -> int/float/...)哈希映射,直接使用原始类型,无需自动装箱。但你确定值得吗?自动装箱速度很快,而且 jit 编译器可以非常有效地优化代码。
Yes, you can use the trove library. It provides int -> object (and int -> int/float/...) hash map, directly with primitive types without autoboxing. But are you sure it is worth it? Autoboxing is fast and the jit compiler optimizes the code quite efficiently.