码迷,mamicode.com
首页 > 移动开发 > 详细

Android--JSONArray排序

时间:2014-09-12 13:19:50      阅读:554      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   color   io   ar   for   数据   div   

1、先把JSONArray放在一个ArrayList里边,利用ArrayList排序

JSONArray mJSONArray;

protected void sortJsonArrayByDate(String dateName){
    List<JSONObject> list = new ArrayList<JSONObject> ();
    JSONObject jsonObj = null;
    for (int i = 0; i < mJSONArray.length(); i++) {
        jsonObj = mJSONArray.optJSONObject(i);
        list.add(jsonObj);
    }
    //排序操作
    JsonComparator pComparator =  new JsonComparator(dateName);
    Collections.sort(list, pComparator);
    
    //把数据放回去
   mJSONArray = new JSONArray();
    for (int i = 0; i < list.size(); i++) {
        jsonObj = list.get(i);
        mJSONArray.put(jsonObj);
    }
}

2、实现Comparator接口,自定义比较规则

public class JsonComparator implements Comparator<JSONObject>{
    
    String dateName = "";
    JsonComparator(String dateName){
        this.dateName = dateName;
    }
    @Override
    public int compare(JSONObject json1, JSONObject json2){
        String date1 = json1.optString(dateName);
        String date2 = json2.optString(dateName);
        if(date1.compareTo(date2) < 0){
            return 1;
        }else if(date1.compareTo(date2) >0){
            return -1;
        }
        return 0;
    }
}

 

Android--JSONArray排序

标签:android   style   blog   color   io   ar   for   数据   div   

原文地址:http://www.cnblogs.com/pear-lemon/p/3968047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!