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来排序 展开
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来排序 展开
3个回答
展开全部
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());
}
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());
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题是什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询