从控制台输入若干个单词(输入回车结束)放入集合TreeSet中,将这些单词排序后(忽略大小写)打印出来
时间: 2024-01-14 13:02:13 浏览: 89
将一段以“*”结束的文本中的单词按照字典序打印
3星 · 编辑精心推荐
可以使用Scanner类读取控制台输入的单词,并将它们添加到TreeSet集合中。为了忽略大小写,可以创建一个自定义比较器,用于对字符串进行比较。以下是一个示例代码:
```
import java.util.Scanner;
import java.util.TreeSet;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
TreeSet<String> words = new TreeSet<>(new CaseInsensitiveComparator());
String word;
while (true) {
word = scanner.nextLine();
if (word.isEmpty()) {
break;
}
words.add(word);
}
for (String w : words) {
System.out.println(w);
}
}
private static class CaseInsensitiveComparator implements Comparator<String> {
public int compare(String s1, String s2) {
return s1.compareToIgnoreCase(s2);
}
}
}
```
在这个示例中,我们使用Scanner类读取控制台输入的单词,并将它们添加到TreeSet集合中。我们创建了一个自定义比较器CaseInsensitiveComparator,用于对字符串进行比较,忽略大小写。最后,我们遍历TreeSet集合,并依次输出每个单词。
阅读全文