上干货  
 
 
---------------------------------------------------------------------------------------------------------------------------- 
题文要求: 
/*键盘录入一个字符串, 把这个字符串转成大写的,然后对这个字符串中的所有字符进行排序,          要求按字典顺序反向排序,并且保留重复.         */  
------------------------------------------------------------------------------------------------------------------------------ 代码区:  
import java.util.Comparator; 
import java.util.Scanner; 
import java.util.TreeSet; 
 
 
public class HomeWorke04 { 
        public static void main(String[] args) { 
                //键盘录入 
                Scanner sc = new Scanner(System.in); 
                System.out.println("输入一个字符串:"); 
                String str = sc.nextLine(); 
                //转换成为大写.  
                String str1 =str.toUpperCase(); 
                char [] arr = str1.toCharArray(); 
                //要求排序,保留重复 用 TreeSet . 
                TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>() { 
                        @Override 
                        public int compare(Character o1, Character o2) { 
                                int num = o2.compareTo(o1);  
                                return num==0? 1:num; 
                        } 
                }); 
                for (Character character : arr) { 
                        ts.add(character); 
                } 
                System.out.println(ts); 
        } 
}         
---------------------------------------------------------------------------------------------------------------------------------------------------- 
总结: 
使用到了匿名内部类, 
然后使用到了treeset这个集合, 
然后就是从写了 compare方法, 
主要难点在于从新写compare方法, 
然后通过return的值,在treeset中排列不同, 
最终得到结果.  
 
 
 
 |