これでは、単語を1つの配列リストに格納し、それに対応するそれぞれの電話番号を別の配列リストに格納しています。数字を入力して、対応する他のリストのすべての単語を返すことができるようにしたいと思います。アレイリストをこのように設定しています。
List<String> listWords = new ArrayList<String>(); // An ArrayList which stores all added words.
List<String> listNum = new ArrayList<String>();// An ArrayList which stores all phone numbers that correspond to all the added words
単語は、電話のキーパッドの場合と同じように変換されます(つまり、2 = a、b、c 3 = d、e、fなど)。
また、私はこのように単純に単語を追加しています。
public void readWords()
{
PhoneWords ph = new PhoneWords();
try
{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("words.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null)
{
String phNum = ph.word2Num(strLine);
listWords.add(position, strLine);
listNum.add(position, phNum);
position++; // index position, only used when initally adding the words
}
}catch (Exception e)
{
//Catch exception if any
System.err.println("Error: " + e.getMessage());
}