package com.loaderman.test;import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;public class Test {/*** 从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt* 分析:* 1,键盘录入字符串,Scanner* 2,将字符串转换为字符数组* 3,定义TreeSet集合,传入比较器对字符排序并保留重复* 4,遍历字符数组,将每一个字符存储在TreeSet集合中* 5,遍历TreeSet集合,打印每一个字符*/public static void main(String[] args) {//1,键盘录入字符串,ScannerScanner sc = new Scanner(System.in);System.out.println("请输入一个字符串");String line = sc.nextLine();//2,将字符串转换为字符数组char[] arr = line.toCharArray();//3,定义TreeSet集合,传入比较器对字符排序并保留重复TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>() {@Overridepublic int compare(Character c1, Character c2) {//int num = c1 - c2; //自动拆箱int num = c1.compareTo(c2);return num == 0 ? 1 : num;}});//4,遍历字符数组,将每一个字符存储在TreeSet集合中for(char c : arr) {ts.add(c); //自动装箱}//5,遍历TreeSet集合,打印每一个字符for(Character c : ts) {System.out.print(c);}}}