public class HashTable <K, V> implements Table<K, V>{
PairHolder table[];
int idx;
public HashTable(int size){
table=new PairHolder[size];
}
public void put(K key, V value) {
int hVal = key.hashCode();
int index = hashFunc1(hVal);
int temp = hashFunc2(hVal);
int col = index +=temp;
while(table[index]!=null){
index += temp;
index %=table.length;
}
table[index].value=value;
}
}
public int hashFunc1(int key){
int abs = Math.abs(key%table.length);
return abs;
}
public int hashFunc2(int key){
int abs = Math.abs(5-key%5);
return abs;
}
해시를 이중화하려고 시도하고 있는데 어떻게해야하는지 혼란 스럽습니다. 나는 옳은 길을 가고 있다고 생각하지만 NullPointerException
은 table[index].value=value;
입니다.해시를 이중화하려고 시도합니다.
도움이 될 것입니다.
'table [0]'의 값은 무엇입니까? –