配列から各文字列を取得し、それを一意の整数値に割り当てるハッシュテーブルを作成したいと考えています。私の配列はファイルから読み取られ、次のように配列に割り当てられます。
public void readFile() throws Exception{
FileInputStream in = new FileInputStream("words.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
wordsList = new String[getNumberOfLines()];
for (int j = 0; j < wordsList.length; j++){
wordsList[j] = br.readLine();
}
in.close();
}
この配列を使用して、次のようなハッシュ テーブルを作成するメソッドを作成しました。
String currentWord;
private Hashtable <String,Integer> wordsHashTable;
LinesReader lr = new LinesReader();
int i;
String[] listOfWords;
public boolean insertValues() throws Exception{
for (i=0; i<lr.getNumberOfLines();i++){
lr.readFile();
listOfWords = lr.returnsWordList();
currentWord = listOfWords[i];
wordsHashTable.put(currentWord, i+1);
}
return wordsHashTable.isEmpty(); //testing purposes only
}
行で NullPointer 例外をスローします: wordsHashTable.put(currentWord, i+1); 私が台無しにしたアイデアはありますか?