开放地址法:
public void insert(Info info)
{
String key=info.getKey();
int hashVal =hashCode(key);
//如果这个索引已经被占用,而且里面是一个未被删除的数据arr[hashVal].getValue()!=null
while(arr[hashVal]!=null&&arr[hashVal].getValue()!=null)
{
++hashVal;
hashVal%=arr.length;
}
arr[hashVal]=info;
}
//获取数据
public Info find(String key)
{
int hashVal=hashCode(key);
while(arr[hashVal]!=null)
{
if(arr[hashVal].getKey().equals(key))
{
return arr[hashVal];
}
++hashVal;
hashVal%=arr.length;
}
return null;
}
public Info delte(String key){
int hashVal=hashCode(key);
while(arr[hashVal]!=null)
{
if(arr[hashVal].getKey().equals(key))
{
Info tmp= arr[hashVal];
tmp.setValue(null);
// arr[hashVal]=null;这样也可以
}
++hashVal;
hashVal%=arr.length;
}
return null;
}