我制作了一个小型 Java 程序,它从用户选择的 txt 文件中加载单词列表并将其逐字存储在 TreeSet 中。现在我需要编写一个函数,每当用户在文本字段(keyPressed)中输入内容时,都会调用一个函数,它会查找/返回此 TreeSet 中以用户输入的字母开头的所有单词。我是新手集合所以我的解决方案是从集合中的第一个元素迭代到最后一个元素并打印出满足条件的元素:
Iterator <String>itr = dictionary.iterator();
String currentWord;
String tempUserInput = "av"; // Temporary, to simulate user input
while(itr.hasNext()){
currentWord = itr.next();
if (currentWord.startsWith(tempUserInput)) {
System.out.println(currentWord); // Temporary, to simulate output
}
}
这可以正常工作,但是,由于它需要传递超过 300000 个字的返回值,我的问题是:有没有更有效的解决方案来解决这个问题?