Map排序

Map排序

面试的时候经常会被问到的map排序
流程:
1.定义个方法
2.传参map
3.将map变成list
4.使用Collections.sorts进行排序
5.后边看代码吧

话不多说,先贴代码

package helloword;

import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

//des:字典排序
public class dictSort {
		public static  <K,V extends Comparable<?super V>> Map<K,V> sortmss(Map<K,V> map){
			List<Map.Entry<K,V>> list=new LinkedList<Map.Entry<K, V>>(map.entrySet());
			Collections.sort(list,new Comparator<Map.Entry<K, V>>() {

				@Override
				public int compare(Entry<K, V> o1, Entry<K, V> o2) {
					// TODO Auto-generated method stub
					int m=o1.getValue().compareTo(o2.getValue());
					return -m;
				}
			});
			Map<K, V> maps=new LinkedHashMap<>();
			for(Map.Entry<K, V> mapent:list) {
				maps.put(mapent.getKey(), mapent.getValue());}
			return maps;
		}
		public static void main(String[] args) {
			Map<String, Integer> msp=new HashMap<>();
			msp.put("hahaha", 123);
			msp.put("woshdsidd", 456);
			msp.put("sadadsa", 145);
			msp.put("asdhusah", 123);
			msp=dictSort.sortmss(msp);
			System.out.println(msp);
		}
}
上一篇:袋鼠云MSP:云上一体化服务 全方位助力企业数字化转型


下一篇:Bespin Global荣膺“Gartner2020全球公有云基础设施管理服务提供商魔力象限领导者”