我有一个解决问题的问题。我必须使用bufferedReader仅将单词添加到treeset中(并输出treeset的大小),但问题是我无法通过编译器速度测试限制。文本仅包含字母和空格(它可以是空行)。我必须找到一个新的解决方案,但似乎不是这个:
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
Set<String> text = new TreeSet<String>();
String words[], line;
while ((line = read.readLine()) != null) {
words = line.split("\\s+");
for (int i = 0; i < words.length && words[0].length() > 0; i++) {
text.add(words[i]);
}
}
System.out.println(text.size());
是否有其他“split”方法可供使用,以便编译器使用更少的“思考时间”?
Scanner
类替代BufferedReader
? - Pavinduwords[0].length() > 0
"条件,因为这会阻止添加任何东西,即使字符串以空格开头,即使后面有单词。将其作为循环内的条件语句。 (只需使用for each循环,无需使用数组索引)。 - Andy Turner