如何为3字节[]的类定义哈希码?

时间:2013-03-22 12:46:16

标签: java hashcode

如何为具有hashCode的课程定义3 byte[]

public class Key implements Comparable<Key> {
    private static final long serialVersionUID = 1L;
    private byte[] subKey1;
    private byte[] subKey2;
    private byte[] subKey3;

    public int hashCode() {  
    }

}

2 个答案:

答案 0 :(得分:0)

简单的哈希码可以是组合所有3字节数组的长度并将其用作哈希码。

要生成更复杂的数据,您可以读取每个字节数组的第一个和最后一个元素,转换为整数值并将它们组合起来生成哈希码。

我建议您使用该值,因为如果第一个和最后一个值相同,那么这两个类很可能是相似的。

答案 1 :(得分:0)

我建议你谷歌这个或阅读Joshua Bloch的书“有效的java”,其中包含一个很好的算法如何做到这一点。