Also für meine Programmierklasse habe ich ein AI-Programm eingereicht, das Wörter basierend auf Statistiken aus einer Beispielzeichenfolge generiert. Allerdings verlangsamte sich die folgenden Zeilen Code immens das Programm nach unten:Beschleunigen eines Programms durch Initialisierung
//Opens and reads the Dictionary
Scanner inputFile = new Scanner(new File("common_words.txt"));
while (inputFile.hasNext()) {
wordCheck = inputFile.nextLine();
if (wordCheck.equalsIgnoreCase(aiWord)) {//Stops dictionary if word is found
inputFile.close();
break;
// ...
Dieser Vorgang wurde wiederholt, bis ein Wort geschaffen wurde, die in der Wortliste aufgenommen wurde. Meine Frage ist, könnte der Prozess beschleunigt werden, wenn ich die Wortliste in ein Array initialisiert habe? Ich denke, dann würde ich aus dem RAM anstelle von HDD lesen. Ich habe versucht, dies in meinen Code zu implementieren, aber es war zu kompliziert, um sie zu verbinden. <
ein 'java.util.List' des Wortes verwenden (alle Groß- oder Klein wenn Sie Groß- und Kleinschreibung Suche) und' List # enthält 'vielleicht –
Wie groß ist common-words.txt? Wenn es in den Speicher passt, gehen Sie mit einer HashMap –
yeah, wenn möglich, lesen Sie dies in einem einzigen Speicherobjekt. Das ständige Öffnen und Lesen einer Datei wird sehr langsam sein. Wenn die Datei * sehr * groß ist, müssen Sie möglicherweise eine Art Indexierungsschema erstellen, damit die Datei (oder Teile davon) schneller gelesen werden kann. – markspace