Hashmap在输出时怎么排序

比如hashmap()里有george,henry,billy,harry然后要输出时按照字母顺序,billy,george,harry,henry这样的顺序输出,怎么弄... 比如hashmap() 里有george,henry,billy,harry然后要输出时按照字母顺序,
billy,george,harry,henry这样的顺序输出,怎么弄?
展开
 我来答
百度网友5b72db5
2010-09-27
知道答主
回答量:11
采纳率:0%
帮助的人:7.4万
展开全部
hashmap() 是无序的。
如果在有序,建议用 LinkedHashMap, TreeMap. LinkedHashMap好像是按输入顺序输出,而 TreeMap 则是按Key 的顺序输出。如果你的“george,henry,billy,harry”是value ,则用上面那两个吧,排序后输出就行了,如果用hashmap是行不通的
匿名用户
推荐于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值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式