Schneller Datenstruktur für das suchen nach einem string

Habe ich diesen code, der bestimmt, ob ein Wort (ignoring case) enthalten ist in einer wordList text-Datei. Aber die wordList text-Datei 65000++ Linien, und Suche einfach ein Wort über meine Implementierung unten fast eine minute dauert. Könnten Sie sich vorstellen, dass es eine bessere Umsetzung?

Dank!

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;
    }
}
  • Leerzeichen Hafen besser in allen Editoren (einschließlich der SO ist wie Magie, textarea) für Einzüge als tabs.
  • wie viele unterschiedliche Wörter gibt es?
  • Wo können wir eine lange Liste von Wörtern? Ich Schaffe es, zu simulieren, 15k und ich bin in einer ms
  • gutenberg.org/wiki/Main_Page erhalten Sie einige große Texte, die Sie nutzen können.
  • und ich war kämpfen, um etwas aus einer html-Datei 😛
InformationsquelleAutor Mariska | 2011-03-05
Schreibe einen Kommentar