黑马程序员技术交流社区

标题: map集合的小问题 [打印本页]

作者: crossover    时间: 2016-9-7 12:52
标题: map集合的小问题
map集合里面如何按照键值的大小排序
作者: 13411939415    时间: 2016-9-8 01:42
自己看下代码吧
public static void main(String[] args) {
        final HashMap<String, Integer> hm = new HashMap<>();
        hm.put("张三", 23);
        hm.put("李四", 21);
        hm.put("王五", 26);
        hm.put("赵六", 14);
       
        TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {

                public int compare(String s1, String s2) {
                        int num = hm.get(s1) - hm.get(s2);
                        return num == 0 ? 1 : num;
                }
        });
        ts.addAll(hm.keySet());
       
        LinkedHashMap<String, Integer> lhm = new LinkedHashMap<>();
        for(String key : ts) {
                lhm.put(key, hm.get(key));
        }
        System.out.println(lhm);
}
作者: 流空有痕    时间: 2016-9-8 02:20
重写Comparator中的Comparator方法,可以设置比较的类型和顺序
作者: 383412263    时间: 2016-9-8 09:51
对Map按key和value分别排序   这个你可以参考下 http://www.cnblogs.com/hxsyl/p/3331095.html




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2