java中的一个小问题

需求:使用Scanner从键盘读取一行字符串,去掉其中重复字符,然后将去重后的字符串输出到控制台,例如输入:aaaabbbcccddd输出 dbca

 public static void main(String[] args) {
        Scanner out=new Scanner(System.in);
        System.out.println("请输入字符串");
        String aa=out.next();
        char[] bb= aa.toCharArray();
        TreeSet<Character> t=new TreeSet<>();
        for (char cc: bb) {
            t.add(cc);

        }
        System.out.println(t);

但是aaaabbbcccddd输出 dbca这个想不到是什么规律的排序。。各位前辈能不能让他输出dbca呢。。

实现Comparable接口,并重写compareTo()方法,compareTo方法中定义排序的方式

我知道Comparable接口或者继承Comparable来写方法。我问的是要用什么规律来排出aaaabbbcccddd输出 dbca

我觉得可能装的时候从左到右装,访问的时候是后序遍历顺序,加个e在后边试试顺序是不是debca

TreeSet去重复的同时会自动根据ASCII码排序,建议使用其他办法。

如果要逆序输出的话,可以将字符装入数组然后反向输出即可。