Treeset按字母顺序排序

时间:2013-03-19 19:57:27

标签: java sorting treeset

如何让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();
                }
            }
    }        

1 个答案:

答案 0 :(得分:6)

TreeSet将树集结构保存在树结构中,该树结构按自然顺序自动排序。实现Comparable接口的每个类都将被排序。 String类已经实现了Comparable接口,因此您无需对其进行排序,只需将其添加到TreeSet

如果hashCode()equals()方法的实现方式如何,那么集合不能包含重复项。

编辑:TreeSet<String> ts = new TreeSet<String>();位于while()循环范围内。您正在每个循环初始化它并丢失前一个数据。在循环外声明它,不要使用Collection.sort()