我想知道如何在 Java 中对 double 进行哈希处理?我已经散列了其他原始数据和对象。我想我可以使用 hashcode 方法吗?从我所看到的来看,这看起来相当复杂。我遇到了一些关于创造种子的事情。
我想知道关于如何解决这个问题的任何想法。希望将我的哈希码的其余部分放入具有双精度的类中?
我想知道我尝试在 java 中对数组列表、数组和其他对象进行哈希处理是否存在问题。我的一些课程包含数组列表。
非常感谢
Double.hashCode() http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#hashCode%28%29复杂的?基本上可以转换成double
into a long
(这里没什么魔法,毕竟它们都是内存中的 64 位值)和计算long
哈希非常简单。这double
-> long
转换是通过完成public static doubleToLongBits() http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#doubleToLongBits%28double%29。这有什么复杂的呢?
例子:
Double.valueOf(42.5).hashCode(); //better answer to everything
Long.valueOf(Double.doubleToLongBits(42.5)).hashCode();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)