public class MapSortTest { public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer, String>(); map.put(2, "awk"); map.put(0, "shell"); map.put(5, "java"); map.put(7, "ruby"); map.put(1, "plsql"); map.put(3, "c"); map.put(8, "go"); map.put(6, "python"); map.put(4, "perl"); sortByKey(map); System.out.println("----------------------------"); sort(map); } /** * ugly sort by key * @param map */ private static void sortByKey(Map<Integer, String> map) { Object[] keyArray = map.keySet().toArray(); Arrays.sort(keyArray); for (int i = 0; i < keyArray.length; i++) { System.out.println(keyArray[i] + "\t" + map.get(keyArray[i])); } } /** * more efficient sorted * @param map */ private static void sort(Map<Integer, String> map) { List<Map.Entry<Integer, String>> mappingList = new ArrayList<Map.Entry<Integer, String>>(map.entrySet()); Collections.sort(mappingList, new Comparator<Map.Entry<Integer, String>>() { public int compare(Map.Entry<Integer, String> mapping1, Map.Entry<Integer, String> mapping2) { // sort by key // return mapping1.getKey().compareTo(mapping2.getKey()); return mapping1.getValue().compareTo(mapping2.getValue()); } }); Iterator<Map.Entry<Integer, String>> it = mappingList.iterator(); while (it.hasNext()) { Map.Entry<Integer, String> entry = it.next(); System.out.println(entry.getKey() + "\t" + entry.getValue()); } } }
相关推荐
map排序
java Map转Bean Bean转Map Map排序
HashMap里面的元素是无序的,要进行排序的话只能是用TreeMap和SortedMap,java实现的map排序
Java 对象属性map排序示例
将map按ASCII码排序,适用于将请求头的参数转为map,map内可再含有map,递归排序,无遗漏。运行demo里main方法即可进行验证。
主要实现Java中Map集合按值排序的几种方法。
List<map>,List<Map, Object>>,多字段组合排序。提供一个简易的思路,如果需要进行参考。
map集合排序方法,亲测有效,分享出来,大家看看
支持一个List<Map>按照MAP中的一个或者多个Key的value值的中英文来排序,自动识别字符和数字(包括[a-zA-z]?[0-9]*)排序
实现Map的排序功能,此文档针对Java开发,。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
源码之前了无秘密,你将看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;你将看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;你...
Java Map按键排序和按值排序 可以java map按照key值排序
private static SortedMap, Integer> mapSortByKey(Map, Integer> unsort_map) { TreeMap, Integer> result = new TreeMap, Integer>() Object[] unsort_key = unsort_map.keySet().toArray(); Arrays.sort...
C++11中有无序map即: unordered_map 可以不自动排序, 那么C++98中只有map 如何避免自动排序。
java map排序,hashmap,linkedmap,treemap,hashtable
Activity 间intent传递有序排序的map集合 intent传递map排序
NULL 博文链接:https://sakajiaofu.iteye.com/blog/1998474
对Map的key和value进行排序