Hashmap排序java
我想输入一些文本,将字母分开,然后用键->文本和值的唯一字母->重复字母的数量制作一个hashmap。如何按降序排列hashmap的值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[])
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;
...
}