Android记录14--自定义Comparator,实现List按时间排序

来自:http://blog.csdn.net/wwj_748/article/details/17355233



[java]  view plain copy
  1. package com.suntek.mobilemeeting.comparator;  
  2.   
  3. import java.util.Comparator;  
  4.   
  5. import com.suntek.mobilemeeting.model.User;  
  6.   
  7. /** 
  8.  * 根据用户离线时间定制的比较器 
  9.  *  
  10.  * @author by wwj 
  11.  *  
  12.  */  
  13. public class OfflineUserComparator implements Comparator {  
  14.   
  15.     @Override  
  16.     public int compare(Object obj1, Object obj2) {  
  17.         User user1 = (User) obj1;  
  18.         User user2 = (User) obj2;  
  19.         int flag = user2.getLeftTime().compareTo(user1.getLeftTime());  
  20.         return flag;  
  21.     }  
  22.   
  23. }  


这样使用:
[java]  view plain copy
  1. // 离线  
  2.                     JSONArray offlineArray = json  
  3.                             .optJSONArray(StringUtil.RES_OFF_USER_INFO);  
  4.                     offlineUsers.clear();  
  5.                     for (int i = 0; offlineArray != null  
  6.                             && i < offlineArray.length(); i++) {  
  7.                         JSONObject temp = (JSONObject) offlineArray.get(i);  
  8.                         User user = new User();  
  9.                         user.setUserId(temp.optString(StringUtil.USER_USERID));  
  10.                         user.setSerialNo(temp  
  11.                                 .optString(StringUtil.USER_SERIAL_NO));  
  12.                         user.setUserName(temp.optString(StringUtil.USER_NAME));  
  13.                         user.setTelephone(temp  
  14.                                 .optString(StringUtil.USER_TELEPHONE));  
  15.                         user.setStatus(-1);  
  16.                         user.setJoinDateTime(temp  
  17.                                 .optString(StringUtil.USER_JOIN_DATE_TIME));  
  18.                         user.setLeftTime(temp  
  19.                                 .optString(StringUtil.USER_LEFT_TIME));  
  20.                         user.setGroupNo(temp.optInt(StringUtil.USER_GROUP_NO));  
  21.                         user.setSubConfName(temp  
  22.                                 .optString(StringUtil.USER_SUB_CONF_NAME));  
  23.                         offlineUsers.add(user);  
  24.                     }  
  25.                     OfflineUserComparator offlineUserComparator = new OfflineUserComparator();  
  26.   
  27.                     Collections.sort(offlineUsers, offlineUserComparator);  


[java]  view plain copy
  1. package com.suntek.mobilemeeting.comparator;  
  2.   
  3. import java.util.Comparator;  
  4.   
  5. import com.suntek.mobilemeeting.model.User;  
  6.   
  7. /** 
  8.  * 根据用户离线时间定制的比较器 
  9.  *  
  10.  * @author by wwj 
  11.  *  
  12.  */  
  13. public class OfflineUserComparator implements Comparator {  
  14.   
  15.     @Override  
  16.     public int compare(Object obj1, Object obj2) {  
  17.         User user1 = (User) obj1;  
  18.         User user2 = (User) obj2;  
  19.         int flag = user2.getLeftTime().compareTo(user1.getLeftTime());  
  20.         return flag;  
  21.     }  
  22.   
  23. }  


这样使用:
[java]  view plain copy
  1. // 离线  
  2.                     JSONArray offlineArray = json  
  3.                             .optJSONArray(StringUtil.RES_OFF_USER_INFO);  
  4.                     offlineUsers.clear();  
  5.                     for (int i = 0; offlineArray != null  
  6.                             && i < offlineArray.length(); i++) {  
  7.                         JSONObject temp = (JSONObject) offlineArray.get(i);  
  8.                         User user = new User();  
  9.                         user.setUserId(temp.optString(StringUtil.USER_USERID));  
  10.                         user.setSerialNo(temp  
  11.                                 .optString(StringUtil.USER_SERIAL_NO));  
  12.                         user.setUserName(temp.optString(StringUtil.USER_NAME));  
  13.                         user.setTelephone(temp  
  14.                                 .optString(StringUtil.USER_TELEPHONE));  
  15.                         user.setStatus(-1);  
  16.                         user.setJoinDateTime(temp  
  17.                                 .optString(StringUtil.USER_JOIN_DATE_TIME));  
  18.                         user.setLeftTime(temp  
  19.                                 .optString(StringUtil.USER_LEFT_TIME));  
  20.                         user.setGroupNo(temp.optInt(StringUtil.USER_GROUP_NO));  
  21.                         user.setSubConfName(temp  
  22.                                 .optString(StringUtil.USER_SUB_CONF_NAME));  
  23.                         offlineUsers.add(user);  
  24.                     }  
  25.                     OfflineUserComparator offlineUserComparator = new OfflineUserComparator();  
  26.   
  27.                     Collections.sort(offlineUsers, offlineUserComparator);  

你可能感兴趣的:(Android记录14--自定义Comparator,实现List按时间排序)