黑马程序员技术交流社区

标题: 键盘字符串 不去重排序 [打印本页]

作者: 韩春兴    时间: 2015-9-29 21:52
标题: 键盘字符串 不去重排序
package com.heima.test;

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class Test5 {
        /**
         * 从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt 分析:
         * 1,键盘录入字符串,Scanner
         * 2,将字符串转换为字符数组
         * 3,定义TreeSet集合,传入比较器对字符排序并保留重复
         * 4,遍历字符数组,将每一个字符存储在TreeSet集合中 5,遍历TreeSet集合,打印每一个字符
         */
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入需要排序的字符串:");
                String s = sc.nextLine();
                char[] arr = s.toCharArray();
                TreeSet<Character> t = new TreeSet<>(new Comparator<Character>() {

                        @Override
                        public int compare(Character c1, Character c2) {
                                int num = c1.compareTo(c2);

                                return num == 0 ? 1 : num;
                        }
                });
                for (int i = 0; i < arr.length; i++) {
                        t.add(arr[i]);
                }
                System.out.println(t);
                for (Character b : t) {
                        System.out.print(b);
                }

        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2