首页 > 开发 > Java > 正文

Java Map 按Key排序实例代码

2024-07-13 10:04:39
字体:
来源:转载
供稿:网友

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[ 注] 

 

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


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表