在Java中使用Hash加倍

dav*_*veb 13 java double object hashcode primitive-types

我想知道如何在Java中散列一个double?我已经散列了其他原始数据和对象.我以为我可以使用哈希码方法?从我所看到的,这看起来非常复杂.我遇到了一些关于创造种子的事情.

我想知道如何解决这个问题.希望将我的哈希码的其余部分用于具有double的类?

我想知道我是否有问题试图在java中散列arraylists,数组和其他对象.我的一些课程包含arraylists.

非常感谢

Tom*_*icz 23

Double.hashCode()复杂?它基本上转换double为a long(这里没有魔法,毕竟它们都只是内存中的64位值),计算long哈希非常简单.本double- > long转换是通过做public static doubleToLongBits().这有什么复杂的?

例子:

Double.valueOf(42.5).hashCode();        //better answer to everything

Long.valueOf(Double.doubleToLongBits(42.5)).hashCode();
Run Code Online (Sandbox Code Playgroud)