public static void main(String[] args) { Map<String,Object[]> m = new HashMap<String, Object[]>(); m.put("1", new Object[]{1,"ff"}); m.put("2", new Object[]{11,"dd"}); m.put("3", new Object[]{23,"ee"}); m.put("4", new Object[]{11,"gg"}); for (Iterator iterator = m.entrySet().iterator(); iterator.hasNext();) { Entry<String, Object[]> type = (Entry<String, Object[]>) iterator.next(); Object[] obj1s = ((Entry<String,Object[]>)type).getValue(); System.out.println(type.getKey()+"-->"+obj1s[0]+"::"+obj1s[1]); } ArrayList<Entry<String,Object[]>> list = new ArrayList<Entry<String,Object[]>>(m.entrySet()); //根据value排序 Collections.sort(list, new Comparator<Object>() { public int compare(Object e1, Object e2) { Object[] obj1s = ((Entry<String, Object[]>) e1).getValue(); Object[] obj2s = ((Entry<String, Object[]>) e2).getValue(); // String obj1 = (String) obj1s[1]; // String obj2 = (String) obj2s[1]; Integer obj1 = (Integer) obj1s[0]; Integer obj2 = (Integer) obj2s[0]; return obj1.compareTo(obj2); } }); System.out.println("============"); for (Iterator iterator = list.iterator(); iterator.hasNext();) { Entry<String, Object[]> type = (Entry<String, Object[]>) iterator.next(); Object[] obj1s = ((Entry<String,Object[]>)type).getValue(); System.out.println(type.getKey()+"-->"+obj1s[0]+"::"+obj1s[1]); } //LinkedHashMap记录元素顺序,默认为插入顺序输出,够着函数可以指定,为访问最近的元素输出,LUR算法 Map<String,Object[]> linked = new LinkedHashMap<String, Object[]>(20,0.75f,true); linked.put("1", new Object[]{1,"ff"}); linked.put("2", new Object[]{11,"dd"}); linked.put("3", new Object[]{23,"ee"}); linked.put("4", new Object[]{11,"gg"}); System.out.println("============"); linked.get("4"); linked.get("4"); linked.get("1"); linked.get("1"); linked.get("4"); for (Iterator iterator = linked.entrySet().iterator(); iterator.hasNext();) { Entry<String, Object[]> type = (Entry<String, Object[]>) iterator.next(); Object[] obj1s = ((Entry<String,Object[]>)type).getValue(); System.out.println(type.getKey()+"-->"+obj1s[0]+"::"+obj1s[1]); } //TreeMap实现排序,sortedMap是TreeMap的实现 TreeMap<String,Object[]> tree = new TreeMap<String, Object[]>(); tree.put("1", new Object[]{1,"ff"}); tree.put("6", new Object[]{11,"dd"}); tree.put("3", new Object[]{23,"ee"}); tree.put("4", new Object[]{11,"gg"}); System.out.println("============"); for (Iterator iterator = tree.entrySet().iterator(); iterator.hasNext();) { Entry<String, Object[]> type = (Entry<String, Object[]>) iterator.next(); Object[] obj1s = ((Entry<String,Object[]>)type).getValue(); System.out.println(type.getKey()+"-->"+obj1s[0]+"::"+obj1s[1]); } }
相关推荐
Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。这篇文章主要介绍了Java Map 按照Value排序的实现方法,需要的朋友可以参考下
java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
TreeMap按VALUE排序
TreeMap, Integer> result = new TreeMap, Integer>() Object[] unsort_key = unsort_map.keySet().toArray(); Arrays.sort(unsort_key); for (int i = 0; i ; i++) { result.put(unsort_key[i].toString(), ...
HashMap里面的元素是无序的,要进行排序的话只能是用TreeMap和SortedMap,java实现的map排序
java map排序,hashmap,linkedmap,treemap,hashtable
Map,HashMap,TreeMap的使用 很详细额,值得看看
主要介绍了 java HashMap,TreeMap与LinkedHashMap的详解的相关资料,这里提供实例代码,帮助大家学习理解 这部分的内容,需要的朋友可以参考下
比较Java原生的 3种Map的效率。 1. TreeMap 2. HashMap 3. ConcurrentSkipListMap 本测试查找方法使用Map的get方法,循环、离散获取。对于ConcurrentSkipListMap,获得顺序片段,可用subMap()方法,提取50w的子序列...
麻雀虽小,五脏俱全 展示了一个JDK的BUG,有兴趣的朋友,可以看下噢 我也不知道算不算BUG,解决起来很简单,但这样似乎违背了JDK的本意
Java中AVL平衡二叉树实现Map_(仿照TreeMap和TreeSet)1
在JavaEE中 TreeMap排序的问题
Java TreeMap源码解析 Java TreeMap源码解析 Java TreeMap源码解析
// java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)...// TreeMap按自己的意愿进行排序,默认按key值升序排序。 另包含一篇网文:在java中使用TreeMap进行中文排序
Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射...
java中map简单实例,包含插入,读出,遍历代码。内含map使用实例及HashMap,LinkedHashMap,TreeMap的区别
本资源提供了List对对象中的属性和TreeMap, String>对键值排序,并针对100w条数据排序,对比List和TreeMap, String>排序的效率。个人认为排序效率对比可以相信,但也可能存在不科学之处,还请高手给与指点,多多包涵...
Java容器讲解PPT,Collection Map(HashMap TreeMap LinkedHashMap) List (ArrayList LinkedList Vector) Set (HashSet TreeSet LinkedHashSet)
HashMap,HashTable,LinkedHashMap,TreeMap的区别
This document helps you to program objects for the Java TreeMap collection.