Более быстрая структура данных для поиска в строке

У меня есть этот код, который определяет, включено ли слово (без учета регистра) в текстовый файл wordList. Однако текстовый файл wordList может содержать 65000 ++ строк, и простой поиск слова с использованием моей реализации ниже занимает почти минуту. Не могли бы вы придумать лучшую реализацию?

Спасибо!

import java.io.*;
import java.util.*;

public class WordSearch 
{
    LinkedList<String> lxx;
    FileReader fxx;
    BufferedReader bxx;

    public WordSearch(String wordlist) 
        throws IOException
    {
        fxx = new FileReader(wordlist);
        bxx = new BufferedReader(fxx);
        lxx = new LinkedList<String>();
        String word;

        while ( (word = bxx.readLine()) != null) 
            {
            lxx.add(word);
        }

        bxx.close();
    }

    public boolean inTheList (String theWord)
    {
        for(int i =0 ; i < lxx.size(); i++)
            {
            if (theWord.compareToIgnoreCase(lxx.get(i)) == 0)
                    {
                return true;
            }
        }

        return false;
    }
}
8
задан TofuBeer 5 March 2011 в 03:02
поделиться