1
我想输入一些文本,分开字母,然后用键 - >独特的文本和值的字母 - >重复字母的数量做一个哈希表。如何按降序排列哈希值的值。哈希图排序java
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);
}
}
}
'HashMap'不是一个有排序的地图。改为使用'SortedMap'的实现(例如'TreeMap')。 – Jesper 2014-10-07 19:32:12
@Jesper他想按价值排序,而不是关键。 – MrHug 2014-10-07 19:33:01