再会。
任务:为一个 UNORDERED 有限集的类实现 hashMd5() 方法,使其返回 MD5 哈希。hashMd5() 方法对于 equals() 方法必须履行与 hashcode() 相同的合同。
难点是什么:当对于一些Java对象需要计算MD5哈希时,首先使用ObjectOutputStream将其转换为字节数组。然后这个字节数组被馈送到计算 MD5 散列的算法。但是,在为 UNORDERED 集实现 hashode() 时,这种方法不起作用,因为 (例如)对于两个相等的集合 A={1,2,3} 和 B={1,3,2} 将收到不同的字节数组,因此将计算不同的 MD5 哈希值。
问题:实际上,如何解决这个问题?
1 个回答