Hashmap排序java

Hashmap排序java,java,Java,我想输入一些文本,将字母分开,然后用键->文本和值的唯一字母->重复字母的数量制作一个hashmap。如何按降序排列hashmap的值 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; public class Menu { public static void main(String args[])

我想输入一些文本,将字母分开,然后用键->文本和值的唯一字母->重复字母的数量制作一个hashmap。如何按降序排列hashmap的值

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

public class Menu {
    public static void main(String args[]){

        String text = null;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Please enter some text: ");
        try {
            text = br.readLine();

        } catch (IOException e) {
            e.printStackTrace();
        }

        HashMap<Character, Integer>  map = new HashMap();

        String UpperCase = text.toUpperCase();
        for (int i = 0;i < UpperCase.length(); i++){


            Character currentChar = UpperCase.charAt(i);

            if(map.get(currentChar) == null){
                map.put(currentChar, 1); 
            } else {
                map.put(currentChar, map.get(currentChar) + 1); 
            }

        }

        for (Character name: map.keySet()){

            String key = name.toString();
            String value = map.get(name).toString();  
            System.out.println(key + " " + value);  

            }
    }    

}
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.util.HashMap;
公共类菜单{
公共静态void main(字符串参数[]){
字符串文本=空;
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
System.out.println(“请输入一些文本:”);
试一试{
text=br.readLine();
}捕获(IOE异常){
e、 printStackTrace();
}
HashMap=newHashMap();
字符串大写=text.toUpperCase();
for(int i=0;i
将地图转换为
列表


然后根据地图的值创建一个列表,并对该列表进行排序。

将地图转换为
列表


然后从映射的值创建一个列表,并对该列表进行排序。

HashMap
不是已排序的映射。改为使用
SortedMap
的实现(例如
TreeMap
)。@Jesper他希望按值排序,而不是按键排序。
HashMap
不是排序映射。改用
SortedMap
的实现(例如
TreeMap
)。@Jesper他想按值排序,而不是按键排序。
List<Map.Entry<Character, Integer>> entries = new ArrayList<>(map.entrySet());
public class CharacterOccurrence {
    private char character;
    private int count;
    ...
}