先使用hashcode算出一个哈希值;找到与之对应位置,如果没有东西直接放到这。如果有则使用equals判断是不是同一个,不是则变成一个拉链;
import java.util.Arrays;
public class Hashbiao {
public Object[] hash=new Object[64];
public void add(Object obj){
int re=obj.hashCode();
if(hash[re%64]==null){
hash[re%64]=new lian(obj);
}else{
lian l= (lian) hash[re%64];
while(l!=null){
if(l.value.equals(obj)){
return;
}
l=l.next;
}
lian z= (lian) hash[re%64];
lian x=new lian(obj);
x.next=z;
hash[re%64]=x;
}
}
@Override
public String toString() {
return "Hashbiao{" +
"hash=" + Arrays.toString(hash) +
'}';
}
}