当前位置: 移动技术网 > IT编程>开发语言>Java > Java Map 按Key排序实例代码

Java Map 按Key排序实例代码

2019年07月22日  | 移动技术网IT编程  | 我要评论

java map 按key排序

有时候我们业务上需要对map里面的值按照key的大小来进行排序的时候我们就可以利用如下方法来进行排序了,

package test;

import java.util.arraylist;
import java.util.collections;
import java.util.comparator;
import java.util.hashmap;
import java.util.iterator;
import java.util.list;
import java.util.set;
import java.util.treeset;

public  class  demo  {

  private  hashmap<integer, object> map =new hashmap<integer, object>();
  private  set<integer> keyset = map.keyset();

  public  object  get(integer  key)  {
    return  map.get(key);
  }

  public  void  put(integer  key,  object  value)  {
    map.put(key,  value);
  }

  @suppresswarnings("unchecked")
  public void sort()  {
    list<integer> list =new arraylist<integer>(map.keyset());
    collections.sort(list,  new  comparator<object>(){
      public int compare(object a, object b) {
         return a.tostring().tolowercase().compareto(b.tostring().tolowercase());
      }
    });

    this.keyset  =  new  treeset<integer>(list);
  }

  public  set<integer>  keyset()  {
    return  this.key
}

  public static void main(string [] args){
    demo map= new demo();
    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[ 注] 



感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网