文字列のハッシュコードを使用しようとしていますが、モジュラスは配列の長さを使用してハッシュテーブルの格納場所のインデックスを取得しようとしています。配列のハッシュコード()モジュラス長を使用するとNULLポインタ例外が返される
配列の宣言とコンストラクタ:
private Bucket[] list;
public Hash() {
list = new Bucket[8];
}
そして、実際のコード:
//if such a key exists already, you should replace its value
public void insert(String key, Textbook value) {
rehash();
if(list[key.hashCode()%list.length].insert(key, value)) size++;
}
//checks if the key exists
public boolean contains(String key) {
return (list[key.hashCode()%list.length] != null) ? list[key.hashCode()%list.length].contains(key) : false;
}
public void remove(String key) {
if(list[key.hashCode()%list.length].remove(key)) size --;
}
挿入し、戻りはnullポインタを削除し、含まれている私はそれをめちゃくちゃだと思うのはここですメソッドの戻り値は常にfalseを返します。
私は間違っています。おかげさまで
素晴らしいです!ありがとう! – Sam