需求:使用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码排序,建议使用其他办法。
如果要逆序输出的话,可以将字符装入数组然后反向输出即可。