Hashmap在输出时怎么排序
3个回答
展开全部
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值。
或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值。
展开全部
hashmap()
是无序的。
如果在有序,建议用
LinkedHashMap,
TreeMap.
LinkedHashMap好像是按输入顺序输出,而
TreeMap
则是按Key
的顺序输出。如果你的“george,henry,billy,harry”是value
,则用上面那两个吧,排序后输出就行了,如果用hashmap是行不通的
是无序的。
如果在有序,建议用
LinkedHashMap,
TreeMap.
LinkedHashMap好像是按输入顺序输出,而
TreeMap
则是按Key
的顺序输出。如果你的“george,henry,billy,harry”是value
,则用上面那两个吧,排序后输出就行了,如果用hashmap是行不通的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hashmap()
是无序的。
如果在有序,建议用
LinkedHashMap,
TreeMap.
LinkedHashMap好像是按输入顺序输出,而
TreeMap
则是按Key
的顺序输出。如果你的“george,henry,billy,harry”是value
,则用上面那两个吧,排序后输出就行了,如果用hashmap是行不通的
再看看别人怎么说的。
是无序的。
如果在有序,建议用
LinkedHashMap,
TreeMap.
LinkedHashMap好像是按输入顺序输出,而
TreeMap
则是按Key
的顺序输出。如果你的“george,henry,billy,harry”是value
,则用上面那两个吧,排序后输出就行了,如果用hashmap是行不通的
再看看别人怎么说的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询