ans*_*gri 5 java algorithm hash
我有一个包含对象列表的数据结构,如下所示:
class A {
private List<Object> list;
}
Run Code Online (Sandbox Code Playgroud)
如何正确定义列表的哈希函数,假设列表中的每个元素都正确hashCode()
?
Dir*_*irk 13
如果实际List
实现完全符合接口,则提供的hashCode
实现应该足够:
返回此列表的哈希码值.列表的哈希码被定义为以下计算的结果:
hashCode = 1;
Iterator i = list.iterator();
while (i.hasNext()) {
Object obj = i.next();
hashCode = 31*hashCode + (obj==null ? 0 : obj.hashCode());
}
Run Code Online (Sandbox Code Playgroud)
(列出文件)
该List
接口要求符合实现以equals
基于列表的元素提供.因此,他们必须hashCode
明确地指定算法