下面这个是我写的我要得到每个字符出现的次数 ,按出现的次数大小输出
大虾门看看我的还有木有要简化的
package com.Arrly;
import java.util.*;
public class Test{
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String cnt = s.nextLine();
List<Character> array = new ArrayList<Character>();
Map<Character, Integer> map = new HashMap<Character, Integer>();
//--------这里是计算字符出现次数并记录↓----------
for (int i = 0; i < cnt.length(); i++) {
char tmp = cnt.charAt(i);
//containsKey如果出现相同的tmp
if(map.containsKey(tmp)){
int num = map.get(tmp);
num++;
map.put(tmp, num);
}else{
map.put(tmp, 1);
array.add(tmp);
}
}
//-----下面就是个冒泡--------
for (int i = 0; i < array.size(); i++) {
for (int j = 0; j < array.size()-1-i; j++) {
if(map.get(array.get(j))>map.get(array.get(j+1))){
char tmp = array.get(j);
array.set(j, array.get(j+1));
array.set(j+1, tmp);
}
}
}
System.out.println(map);//这个就是打印字符出现的次数
System.out.println(array);//这个打印排序后的数组,从小到大
//读取
          Iterator   i=map.keySet().iterator();
  while(i.hasNext())
  {
  Character ch=(Character)i.next();
  System.out.println(ch);

  System.out.println(map.get(ch));
  System.out.println("_________________");
  }
  //按顺序读取
  System.out.println("********************************");
  for (int j = 0; j < array.size(); j++) {
  System.out.println(array.get(j));
   System.out.println(map.get(array.get(j)));
   System.out.println("******");
}
}
}