Java Map 按Key排序
有时候我们业务上需要对map里面的值按照key的大小来进行排序的时候我们就可以利用如下方法来进行排序了,
代码如下 | 复制代码 |
packagetest;
importjava.util.ArrayList; importjava.util.Collections; importjava.util.Comparator; importjava.util.HashMap; importjava.util.Iterator; importjava.util.List; importjava.util.Set; importjava.util.TreeSet;
public class Demo {
private HashMap private Set
public Object get(Integer key) { return map.get(key); }
public void put(Integer key, Object value) { map.put(key, value); }
@SuppressWarnings("unchecked") publicvoidsort() { List Collections.sort(list, new Comparator publicintcompare(Object a, Object b) { returna.toString().toLowerCase().compareTo(b.toString().toLowerCase()); } });
this.keySet = new TreeSet }
public Set return this.key }
publicstaticvoidmain(String [] args){ Demo map=newDemo(); map.put(11,"加"); map.put(12,"关"); map.put(13,"注"); map.put(10,"添"); map.put(1,"小"); map.put(8,"记"); map.put(9,"得"); map.put(7,"客"); map.put(5,"的"); map.put(6,"博"); map.put(4,"豆"); map.put(3,"糖"); map.put(2,"小"); System.out.println("排序前"); for(Iterator it =map.keySet().iterator();it.hasNext();){ Integer key= (Integer)it.next(); System.out.println("key[ " + key + "], value[ " + map.get(key) + "] "); } // System.out.println("排序后"); System.out.println("n "); map.sort(); for (Iterator it=map.keySet().iterator();it.hasNext();) { Integer key=(Integer)it.next(); System.out.println("key[ " + key + "], value[ " + map.get(key) + "] "); } } } |
运行效果如下
排序前
代码如下 | 复制代码 |
key[1], value[ 小] key[2], value[ 小] key[3], value[ 糖] key[4], value[ 豆] key[5], value[ 的] key[6], value[ 博] key[7], value[ 客] key[8], value[ 记] key[9], value[ 得] key[10], value[ 添] key[11], value[ 加] key[12], value[ 关] key[13], value[ 注] |
排序后
代码如下 | 复制代码 |
key[1], value[ 小] key[2], value[ 小] key[3], value[ 糖] key[4], value[ 豆] key[5], value[ 的] key[6], value[ 博] key[7], value[ 客] key[8], value[ 记] key[9], value[ 得] key[10], value[ 添] key[11], value[ 加] key[12], value[ 关] key[13], value[ 注] |
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级