标签: java hashmap double
我在stackoverflow上找到了Double in HashMap声明的帖子:
我在考虑使用Double作为HashMap的关键,但我知道浮点数比较是不安全的
但是我无法真正找到为什么在hashmap中使用双精度键是不安全的。你能解释一下吗?
答案 0 :(得分:1)
简单地说,你用于地图的关键字,即使是分数中的小小数变化也会发生很大变化,错过这些数值的概率要高得多。
java.lang.Double的hashCode说 (int)(v^(v>>>32))
(int)(v^(v>>>32))