A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. public static void main(String[] args) {
  2.                 //1,键盘录入字符串,Scanner
  3.                 Scanner sc = new Scanner(System.in);
  4.                 System.out.println("请输入一个字符串");
  5.                 String line = sc.nextLine();
  6.                 //2,将字符串转换为字符数组
  7.                 char[] arr = line.toCharArray();
  8.                 //3,定义TreeSet集合,传入比较器对字符排序并保留重复
  9.                 TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>() {

  10.                         @Override
  11.                         public int compare(Character c1, Character c2) {
  12.                                 //int num = c1 - c2;                                //自动拆箱
  13.                                 int num = c1.compareTo(c2);
  14.                                 return num == 0 ? 1 : num;
  15.                         }
  16.                 });
  17.                
  18.                 //4,遍历字符数组,将每一个字符存储在TreeSet集合中
  19.                 for(char c : arr) {
  20.                         ts.add(c);                                                        //自动装箱
  21.                 }
  22.                
  23.                 //5,遍历TreeSet集合,打印每一个字符
  24.                 for(Character c : ts) {
  25.                         System.out.print(c);
  26.                 }
  27.         }

  28. }
复制代码






1 个回复

倒序浏览
这代码还可以优化 至少还可以节省一行代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马