本来来自:http://blog.sina.com.cn/s/blog_93daad41010119di.html
本节实例介绍对Map中的记录根据键进行排序,Map对象的键是Integer类型,排序结果可以是升序也可以是降序。
关键技术剖析:
l 只有TreeMap能够把保持的记录根据键排序,因此,可以把其他Map转换成TreeMap,转换的方法是把Map对象当做参数构造TreeMap。
l TreeMap默认用升序排序,可以指定排序用的比较器。比较实现Comparator接
import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.TreeMap; public class SortMap1 { // 输出map private static void output(Map map) { // 第一种方法用 map.entrySet()遍历 Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Integer, String> s = (Entry<Integer, String>) it.next(); int key = s.getKey(); String value = s.getValue(); // System.out.println("map的键是:"+key+",值是:"+value); } // 第二种方法用map.keySet()遍历 it = map.keySet().iterator(); while (it.hasNext()) { int key = (Integer) it.next(); String value = (String) map.get(key); System.out.println("map的键是:" + key + ",值是:" + value); } } public static void main(String[] args) { Map map = new HashMap(); map.put(new Integer(5), "aaa"); map.put(new Integer(8), "bbb"); map.put(new Integer(4), "ccc"); map.put(new Integer(7), "ddd"); map.put(new Integer(3), "eee"); map.put(new Integer(1), "fff"); System.out.println("初始化后的map:"); output(map); // 借助TreeMap的排序功能给mayMap排序 Map treeMap = new TreeMap(map); System.out.println("排序后的map:"); output(treeMap); // 用自定义的比较器排序 TreeMap newTreeMap = new TreeMap(new MyComparator()); newTreeMap.putAll(map); System.out.println("用自定义的比较器排序后的map:"); output(newTreeMap); } } //比较器 class MyComparator implements Comparator { @Override public int compare(Object o1, Object o2) { int i1 = (Integer) o1; int i2 = (Integer) o2; if (i1 > i2) { return -1; } if (i1 < i2) { return 1; } return 0; } }
相关推荐
map排序
将map按ASCII码排序,适用于将请求头的参数转为map,map内可再含有map,递归排序,无遗漏。运行demo里main方法即可进行验证。
HashMap里面的元素是无序的,要进行排序的话只能是用TreeMap和SortedMap,java实现的map排序
private static SortedMap, Integer> mapSortByKey(Map, Integer> unsort_map) { TreeMap, Integer> result = new TreeMap, Integer>() Object[] unsort_key = unsort_map.keySet().toArray(); Arrays.sort...
java Map转Bean Bean转Map Map排序
对Map的key和value进行排序
Java Map按键排序和按值排序 可以java map按照key值排序
C++11中有无序map即: unordered_map 可以不自动排序, 那么C++98中只有map 如何避免自动排序。
Java 对象属性map排序示例
主要实现Java中Map集合按值排序的几种方法。
List<map>,List<Map, Object>>,多字段组合排序。提供一个简易的思路,如果需要进行参考。
支持一个List<Map>按照MAP中的一个或者多个Key的value值的中英文来排序,自动识别字符和数字(包括[a-zA-z]?[0-9]*)排序
可以将Map中的对象按照键或值进行升序或降序排列,经测试一切正常,开发者看懂后按照需求对应修改即可!
NULL 博文链接:https://sakajiaofu.iteye.com/blog/1998474
实现Map的排序功能,此文档针对Java开发,。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
Map中元素存放是无序的 HashMap注意事项: 1,HashMap底层维护一个数组,我们向HashMap中所放置的对象实际上是存储在该数组当中; 2,当向HashMap中put一对键值时,它会根据key的hashCode值计算出一个位置,该位置...
本文给大家分享的是java中的map的按值排序和按键排序问题,并通过具体的示例,希望对大家能有所帮助。
java map排序,hashmap,linkedmap,treemap,hashtable
Activity 间intent传递有序排序的map集合 intent传递map排序