Java中Map按value值进行排序
来源:互联网 发布:java整型转16进制 编辑:程序博客网 时间:2024/05/16 09:38
Java中对Map按key进行排序是非常简单的,使用TreeMap即可轻松地解决这个问题。但是有的时候我们想对Map按value进行排序。这种情况下排序就比较麻烦了。我们还是可以利用TreeMap进行,但这种情况下,作为参数传入TreeMap构造器的comparator需要具有按value比较大小的能力。具体代码实现如下:
- 方法一:
public class SortMapByValue { public static Map<K, V> sortMap(Map<K, V> unsortedMap) { Comparator<K> comparator = new ValueComparator<K, V>(unsortedMap); TreeMap<K, V> result = new TreeMap<K, V>(comparator); result.putAll(unsortedMap); return result; }}class ValueComparator<K, V extends Comparable<V>> implements Comparator<K> { HashMap<K, V> map = new HashMap<K, V>(); public ValueComarartor(HashMap<K, V> map) { this.map.putAll(map); } @Override public int compare(K s1, K s2) { return map.get(s1).compareTo(map.get(s2)); }}
- 方法二:
public class SortMapByValue { public static <K, V extends Comparable<? super V>> Map<K, V> sortByValue(Map<K, V> map) { List<Map.Entry<K, V>> list = new LinkedList<>(map.entrySet()); Collisions.sort(list, new Comparator<Map.Entry<K, V>>() { @Override public int compare(Map.Entry<K, V> e1, Map.Entry<K, V> e2) { return (e1.getValue()).compareTo(e2.getValue()); } }); Map<K, V> result = new LinkedHashMap<>(); for (Map.Entry<K, V> entry : list) { result.put(entry.getKey(), entry.getValue()); } return result; }}
0 0
- JAVA中Map按value值进行逆序排序
- Java中Map按value值进行排序
- (java)根据map中value进行排序
- Java中Map按照Value值进行排序
- java对Map按Value进行排序
- Java中Map按Value排序
- Java中Map根据键(Key)或者值(Value)进行排序
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java 中 Map 根据键值 (key) 或者值 (value) 进行排序实现
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java中Map根据键值(key)或者值(value)进行排序实现
- C++中实现对map按照value值进行排序
- Map中根据value值的大小进行排序
- Map中按value值排序
- java Map 按value排序
- Java按Value排序Map
- Java Map按Value排序
- 对Map进行按值(value)排序
- 设计模式 - Singleton in Java
- Leetcode 369. Plus One Linked List (Medium) (cpp)
- touchpanel驱动
- Easy 205题 Isomorphic Strings
- 198. House Robber
- Java中Map按value值进行排序
- TortoiseSVN提交commit提示Unable to create pristine install stream.系统找不到指定的路径
- 200. Number of Islands
- Leetcode 4. Median of Two Sorted Arrays (Hard) (cpp)
- swift项目:微博
- 第七章 个人优化vim第四步:插件集合spf13安装与使用教程
- Ueditor使用方法及其若干问题的解决
- mui教程 首页布局
- Easy 170题 Two Sum III - Data structure design