Java Map 按Key排序实例代码
程序员文章站
2024-03-06 17:39:44
java map 按key排序
有时候我们业务上需要对map里面的值按照key的大小来进行排序的时候我们就可以利用如下方法来进行排序了,
package tes...
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[ 注]
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!