通过比较映射键的值对其进行排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过比较映射键的值对其进行排序相关的知识,希望对你有一定的参考价值。

This demonstrate the expressiveness of Groovy vs Java.
  1. import java.util.*;
  2.  
  3. //
  4. // Groovy version of "Sort keys by values" is:
  5. // keys.sort{ lang[it] }
  6. // That's one line replacement!!!
  7. //
  8.  
  9. class MapSort {
  10. public static void main(String[] args){
  11. Map lang = new HashMap();
  12. lang.put(0, "Java");
  13. lang.put(1, "Groovy");
  14. lang.put(2, "Ruby");
  15. lang.put(3, "Python");
  16. lang.put(4, "C#");
  17. lang.put(5, "C++");
  18. lang.put(6, "Perl");
  19.  
  20. List keys = new ArrayList(lang.keySet());
  21.  
  22. //Sort keys by values.
  23. final Map langForComp = lang;
  24. Collections.sort(keys,
  25. new Comparator(){
  26. public int compare(Object left, Object right){
  27. Integer leftKey = (Integer)left;
  28. Integer rightKey = (Integer)right;
  29.  
  30. String leftValue = (String)langForComp.get(leftKey);
  31. String rightValue = (String)langForComp.get(rightKey);
  32. return leftValue.compareTo(rightValue);
  33. }
  34. });
  35.  
  36. //List the key value
  37. for(Iterator i=keys.iterator(); i.hasNext();){
  38. Object k = i.next();
  39. System.out.println(k + " " + lang.get(k));
  40. }
  41. }
  42. }

以上是关于通过比较映射键的值对其进行排序的主要内容,如果未能解决你的问题,请参考以下文章

在PHP中按数组键的值对字典中的数组进行排序

按字典键的值对包含 NSMutableDictionary 的 NSMutableArray 进行排序

按特定键的内部数组的值对PHP二维数组进行排序[重复]

如何按给定键的值对关联数组进行排序并在php中维护键? [复制]

如何排序地图值?

添加键的值并按在 Python 中的字典列表中出现的键对其进行排序