Hashmap在输出时怎么排序
比如hashmap()里有george,henry,billy,harry然后要输出时按照字母顺序,billy,george,harry,henry这样的顺序输出,怎么弄...
比如hashmap() 里有george,henry,billy,harry然后要输出时按照字母顺序,
billy,george,harry,henry这样的顺序输出,怎么弄? 展开
billy,george,harry,henry这样的顺序输出,怎么弄? 展开
2个回答
推荐于2016-03-05
展开全部
HashMap的排序需要实现Comparable 或Comparator来实现key-value排序;
参考代码如下:
Map <String,Integer> result = new HashMap <String,Integer>();
//待排序的HashMap
Map <String,String> sort = new TreeMap<String,String>();
//创建一个TreeMap,TreeMap本身的Key集合就是排序的。
for(String key:result.keySet()){//迭代HashMap中的元素,构成TreeMap中的元素。
sort.put(result.get(key).toString()+key, key);
//将HashMap中的value值和key值拼接成字符串,构成TreeMap的Key
}
//最后,sort中key的先后顺序就是楼主要求的先后顺序,key对应的value值是HashMap中的Key值。
参考代码如下:
Map <String,Integer> result = new HashMap <String,Integer>();
//待排序的HashMap
Map <String,String> sort = new TreeMap<String,String>();
//创建一个TreeMap,TreeMap本身的Key集合就是排序的。
for(String key:result.keySet()){//迭代HashMap中的元素,构成TreeMap中的元素。
sort.put(result.get(key).toString()+key, key);
//将HashMap中的value值和key值拼接成字符串,构成TreeMap的Key
}
//最后,sort中key的先后顺序就是楼主要求的先后顺序,key对应的value值是HashMap中的Key值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询