话不多说,上代码。有升序
和降序
排列。
package test;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class T_00 {
public static void main(String[] args) {
Map<String, Integer> m = new LinkedHashMap<String, Integer>();
m.put("Apple", 3);
m.put("Banana", 2);
m.put("Pear", 1);
m.put("Hotdog", 4);
for (String k: m.keySet()) {
System.out.println(k+" "+m.get(k));
}
Map<String, Integer> m2 = reverseMap(m);
System.out.println("====按照value排序后====");
for (String k: m2.keySet()) {
System.out.println(k+" "+m2.get(k));
}
}
public static Map<String, Integer> reverseMap(Map<String, Integer> m){
List<Map.Entry<String, Integer>> list = new ArrayList<>(m.entrySet());
list.sort(Map.Entry.comparingByValue());
Map<String, Integer> m2 = new LinkedHashMap<String, Integer>();
for (int i = 0; i < list.size(); i++) {
String key = list.get(i).toString().split("=")[0];
int value = Integer.parseInt(list.get(i).toString().split("=")[1]);
m2.put(key, value);
}
return m2;
}
}
运行截图