如何对ArrayList中的某个属性进行排序

部分代码如下:intI;List<Map<String,Object>>list=newArrayList<Map<String,Object>>();for(curso... 部分代码如下:
int I;
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for(cursor.moveToFirst();!(cursor.isAfterLast());cursor.moveToNext()){
Map<String, Object> map = new HashMap<String, Object>();
String ID=cursor.getString(idIndex);
String RowId=cursor.getString(RowIdIndex).trim();
String RemindContent=cursor.getString(RemindContentIndex).trim();
String RemindTime=cursor.getString(RemindTimeIndex).trim();
map.put("RecordID", ID);
map.put("RowId",RowId);
map.put("RemindContent",RemindContent);
map.put("RemindTime", RemindTime);
list.add(map);
I++;
}
其中"RemindTime"属性为int,现在想要根据这个属性的大小,对list进行排序
也就是说,经过若干个上述执行,得到一个属性:RemindTime无序的list,现在要对根据这个list中的RemindTime重新得到一个有序的list.
注:这是一个从数据库中查询得到的一个记录数组,请不要说,直接在SQL语句中使用Order by RemindTime就可以直接实现,其实,不是这么简单的,我要实现的是从不同的表中查询得到结构一样的记录集结果,这只是其中的一个结果,所以,多个结果累加到一起,得到最后一个混合的结果后,就需要重新对RemindTime这个属性排序了。
最好给个能运行的源码
先谢了!
展开
 我来答
zeus_flo
推荐于2016-02-19 · TA获得超过118个赞
知道答主
回答量:95
采纳率:0%
帮助的人:68.6万
展开全部
这个结果是降序的,升序的话条件换下
Collections.sort(list, new Comparator<Map<String, Object>>() {

@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
// TODO Auto-generated method stub
int time1 = (Integer) o1.get("RemindTime");
int time2 = (Integer) o2.get("RemindTime");
if (time1 > time2) {
return -1;
} else if (time1 == time2) {
return 0;
} else {
return 1;
}
}
});
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式