java面试常考题:HashMap根据key,value排序

Map map = new HashMap();

map.put(1,"一");

map.put(3,"三");

map.put(4,"四");

map.put(2,"二");

//要根据key,和value排序嘛,用到Collections.sort()的方法,

//首先将map转化为list

List> list = new LinkedList>(map.entrySet());

//entrySet() 方法/返回map中包含的映射关系的 Set 视图。

//Map.Entry表示映射关系,迭代后可以e.getKey(),e.getValue()取key和value

//哎。。。

Collections.sort(list,new Comparator>(){

                  @Overide

                  public int compare(Map.Entry o1,Map.Entry o2){

                  //根据key排序,根据value排序就getValue

                  returen 01.getKey() - 02.getKey();//正序,倒序 o2-o1

                  }

});

print 的list就是排好序的了,需要的话,在转化成map..

你可能感兴趣的:(java面试常考题:HashMap根据key,value排序)