単語が辞書に存在するかどうかだけを確認したい場合は、HashSet を使用してみませんか? 各行に単語を含むプレーンテキストの辞書ファイルを使用できます。または、少なくともそれが過去に行ったことです。
更新するかどうかはわかりませんが、dictionary.com が単語リストを含むファイルを提供している場合は、それをダウンロードしてから、ファイルを開いてすべてのエントリをハッシュ マップ/セットに追加できます。単語が削除されないと仮定すると、既存のエントリが上書きされるだけです。
編集:単語をチェックするときにハッシュマップまたはハッシュセットで衝突が問題にならないことを示すテストプログラムを作成しました。
import java.util.HashSet;
public class CollidingHash {
String value;
public CollidingHash(String s){
value=s;
}
@Override
public int hashCode(){
return 1;
}
@Override
public boolean equals(Object o){
if(! (o instanceof CollidingHash)){
return false;
}
CollidingHash c2 = (CollidingHash)o;
return value.equals(c2.value);
}
public static void main(String[] args) {
HashSet<CollidingHash> dict = new HashSet<CollidingHash>();
CollidingHash a = new CollidingHash("This");
CollidingHash b = new CollidingHash("That");
dict.add(a);
System.out.println("Is "+ (dict.contains(b)? "Bad": "OK"));
}
}
Edit2: Pace が言及したように equals メソッドを追加しました。