思路解析:
可以借助treeSet可排序这个特点,1.先将从键盘录入的字符串转换成字符数组
2.创建treeSet集合,调用它的有参构造,传入Comparator的匿名对象,重写它的Compare方法,调用字符的CompareTo()方法,就可以按字典排序,返回对应的差值。
3.遍历字符数组,将其添加到treeSet集合中
4.遍历输出
import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;
//5.从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloworld,程序打印:dehllloorw
public class Demo05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String s = sc.next();
//将字符串转换成字符数组
char[] arr= s.toCharArray();
//调用TreeSet集合的含参构造,重写compare方法
TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>() {
@Override
public int compare(Character o1, Character o2) {
return o1.compareTo(o2)>=0 ? 1: -1;
}
});
//将字符数组里的值添加到集合中
for (Character ch : arr) {
ts.add(ch);
}
//遍历输出
for (Character ch : ts) {
System.out.print(ch);
}
}
}