java中map的排序问题

List<Map<String,Object>>datas=newArrayList<Map<String,Object>>();Map<String,Object>da... List<Map<String,Object>> datas=new ArrayList<Map<String,Object>>();
Map<String, Object> data=new LinkedHashMap<String, Object>();
//循环结果集
while(rs.next()){
data=new HashMap<String, Object>();
//每循环一条将列名和列植存入Map
for(int i=1;i<columnCount;i++){
String key=rsmd.getColumnLabel(i);
Object value=rs.getObject(rsmd.getColumnLabel(i));
data.put(key,value);
}
//将整条数据的Map存入到List中
datas.add(data);
}
将data中的可以值按照 for(int i=1;i<columnCount;i++){}中的i来排序
展开
 我来答
爱文孙0U
推荐于2016-08-22
知道答主
回答量:40
采纳率:0%
帮助的人:21.2万
展开全部
HashMap里面的元素是无序的,要进行排序的话只能是用TreeMap和SortedMap,例如:
public static void main(String[] args) throws Exception{
Map<String, Integer> map=new TreeMap<String, Integer>();
map.put("1", 1);
map.put("9", 9);
map.put("4", 4);
map.put("2", 2);
map.put("8", 8);
map=mapSortByKey(map);
System.out.println(map.toString());
}
private static SortedMap<String, Integer> mapSortByKey(Map<String, Integer> unsort_map) {
TreeMap<String, Integer> result = new TreeMap<String, Integer>();

Object[] unsort_key = unsort_map.keySet().toArray();
Arrays.sort(unsort_key);

for (int i = 0; i < unsort_key.length; i++) {
result.put(unsort_key[i].toString(), unsort_map.get(unsort_key[i]));
}
return result.tailMap(result.firstKey());
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
轻易放下手中
2013-07-04
知道答主
回答量:6
采纳率:0%
帮助的人:5.5万
展开全部
程序本身是没有问题的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mzpis
2013-07-03 · TA获得超过102个赞
知道答主
回答量:84
采纳率:0%
帮助的人:25.5万
展开全部
问题是什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式