class="java"> 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]); } }
?