Java 为int[]数组生成哈希键的最快方法?

Java 为int[]数组生成哈希键的最快方法?,java,arrays,hashcode,Java,Arrays,Hashcode,例如int[]数组={1,2,3,4,5,6,7,8,9} 我想把它转换成inta=123456789 我打算用这个作为散列键 我的想法是使用Arrays.toString将数组转换为字符串,然后将其转换回整数。但我认为这不是一个好的解决办法。有什么想法吗 为什么要重新发明轮子?用于根据数组内容获取哈希代码。对于真正的哈希,我将使用,但您请求的函数只需一行即可完成- int a = Integer.parseInt(Arrays.toString(array) .replaceAll("

例如
int[]数组={1,2,3,4,5,6,7,8,9}

我想把它转换成
inta=123456789

我打算用这个作为散列键


我的想法是使用
Arrays.toString
将数组转换为字符串,然后将其转换回整数。但我认为这不是一个好的解决办法。有什么想法吗

为什么要重新发明轮子?用于根据数组内容获取哈希代码。

对于真正的哈希,我将使用,但您请求的函数只需一行即可完成-

int a = Integer.parseInt(Arrays.toString(array)
    .replaceAll("\\[|\\]|,\\ ", ""));
System.out.println(a);
输出为

123456789

Arrays.hashCode(int[])
会有帮助

基数10有什么好处?如果有更好的方法为唯一的int[]数组创建唯一的整数,那就太棒了!但它必须非常快。我不认为转换或迭代是好的,因为我会将其用于搜索算法。那么,您如何区分
{12,3,4,5,6,7,8,9}
{1,2,3,4,5,6,7,8,9}
?要么你的想法不好,要么你没有给我们所有的限制。@John3136是的,我有;我没想过。数组的大小与int[]array=newint[]{-1,-1}相同;你会得到一个NumberFormatException@Adam另外,它失败得很快!还有int[]数组=新int[]{Integer.MAX_值,1}的NumberFormatException;