package com.example.phone;
import java.util.*;
/**
* @Author Mr.wang
* @Date 2020/11/9
* @Description
*/
public class test1 {
public static void main(String[] args) {
Map<String, Integer> resultMap = new TreeMap<String, Integer>();
resultMap.put("1", 50);
resultMap.put("2", 60);
resultMap.put("3", 70);
resultMap.put("4", 80);
resultMap.put("5", 90);
resultMap.put("6", 100);
Map<String, Integer> map = ToolsMap(5,resultMap);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
/**
* 按Value进行排序
*/
public static Map<String,Integer> ToolsMap(Integer number,Map<String, Integer> resultMap){
int z = 0;
Map<String,Integer> returnMap = new HashMap<String,Integer>();
Map<String, Integer> sortedMap = new LinkedHashMap<>();
List<Map.Entry<String, Integer>> entryList = new ArrayList<Map.Entry<String, Integer>>(
resultMap.entrySet());
Collections.sort(entryList, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
Iterator<Map.Entry<String, Integer>> iter = entryList.iterator();
Map.Entry<String, Integer> tmpEntry = null;
while (iter.hasNext()) {
tmpEntry = iter.next();
sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue());
}
//正序
// for (Map.Entry<String, Integer> entry : sortedMap.entrySet()) {
// System.out.println(entry.getKey() + " " + entry.getValue());
// }
//倒叙
ListIterator<Map.Entry<String, Integer>> li = new ArrayList<Map.Entry<String, Integer>>(sortedMap.entrySet()).listIterator(sortedMap.size());
while(li.hasPrevious()) {
if(z<number){
Map.Entry<String, Integer> entry = li.previous();
returnMap.put(entry.getKey(),entry.getValue());
System.out.println("key"+entry.getKey()+",value"+entry.getValue());
}else{
return returnMap;
}
z++;
}
return returnMap;
}
}
关于Map排序取出大小
最新推荐文章于 2024-06-19 15:09:37 发布