博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中map按照值(value)排序
阅读量:704 次
发布时间:2019-03-21

本文共 1241 字,大约阅读时间需要 4 分钟。

话不多说,上代码。有升序降序排列。

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
m = new LinkedHashMap
(); // 先构建一个map 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
m2 = reverseMap(m); System.out.println("====按照value排序后===="); for (String k: m2.keySet()) {
System.out.println(k+" "+m2.get(k)); } } /** * 将一个Map按照value排序 * @param m * @return */ public static Map
reverseMap(Map
m){
List
> list = new ArrayList<>(m.entrySet()); // 升序 list.sort(Map.Entry.comparingByValue()); // 降序// list.sort(Map.Entry.comparingByValue(Comparator.reverseOrder())); Map
m2 = new LinkedHashMap
(); // 打印这个list,会得到一个用=号连着的值 // 然后用split切分即可 for (int i = 0; i < list.size(); i++) { // System.out.println(list.get(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; } }

运行截图

在这里插入图片描述

转载地址:http://pjtez.baihongyu.com/

你可能感兴趣的文章