如何让treeset按字母顺序排序? 并删除重复..它已经让我疯了一天。也许我需要睡个好觉..
public static void main(String[] args) {
String fileName = args[0];
String words;
Scanner s = null;
Iterator itr;
try {
s = new Scanner(new BufferedReader(new FileReader(fileName)));
while (s.hasNext()) {
words = s.next();
TreeSet<String> ts = new TreeSet<String>();
ts.add(words);
System.out.println(ts);
}
} catch (FileNotFoundException fnfe) {
System.exit(0);
} finally {
if (s != null) {
s.close();
}
}
}
答案 0 :(得分:6)
TreeSet
将树集结构保存在树结构中,该树结构按自然顺序自动排序。实现Comparable
接口的每个类都将被排序。 String类已经实现了Comparable
接口,因此您无需对其进行排序,只需将其添加到TreeSet
。
如果hashCode()
和equals()
方法的实现方式如何,那么集合不能包含重复项。
编辑:TreeSet<String> ts = new TreeSet<String>();
位于while()
循环范围内。您正在每个循环初始化它并丢失前一个数据。在循环外声明它,不要使用Collection.sort()