import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.apache.commons.beanutils.BeanComparator;
import org.apache.commons.collections.ComparatorUtils;
public class ListBeanComparators {
/**
* 对 list内容 进行倒序 排序
* @param list
* @param property
* @return
*/
@SuppressWarnings("unchecked")
public static List<?> getListReverseOrderSort(List<?> list,String property){
if(list==null)return null;
Comparator mycmp = ComparatorUtils.naturalComparator();
Comparator cmp = new BeanComparator(property, mycmp);
Collections.sort(list, Collections.reverseOrder(cmp));
return list;
}
/**
* 对 list内容 进行升序 排序
* @param list
* @param property
* @return
*/
@SuppressWarnings("unchecked")
public static List<?> getListAsceOrderSort(List<?> list,String property){
if(list==null)return null;
Comparator mycmp = ComparatorUtils.naturalComparator();
Comparator cmp = new BeanComparator(property, mycmp);
Collections.sort(list, cmp);
return list;
}
// public static void main(String[] args) throws Exception {
// List<User> us = new ArrayList<User>();
// User uu = new User();
// uu.setId(11);
// Date d =new Date();
// uu.setDate(new Date(d.getTime()+20000));
// us.add(uu);
// for(int i=0;i<10;i++){
// User u = new User();
// u.setId(i);
// Thread.sleep(1000);
// u.setDate(new Date());
// us.add(u);
// }
// for(User u : us){
// System.out.println(u.getId());
// System.out.println(u.getDate());
// }
// us = (List<User>) getListReverseOrderSort(us, "date");
// for(User u : us){
// System.out.println(u.getId());
// System.out.println(u.getDate());
// }
// }
}
import java.util.Comparator;
import java.util.List;
import org.apache.commons.beanutils.BeanComparator;
import org.apache.commons.collections.ComparatorUtils;
public class ListBeanComparators {
/**
* 对 list内容 进行倒序 排序
* @param list
* @param property
* @return
*/
@SuppressWarnings("unchecked")
public static List<?> getListReverseOrderSort(List<?> list,String property){
if(list==null)return null;
Comparator mycmp = ComparatorUtils.naturalComparator();
Comparator cmp = new BeanComparator(property, mycmp);
Collections.sort(list, Collections.reverseOrder(cmp));
return list;
}
/**
* 对 list内容 进行升序 排序
* @param list
* @param property
* @return
*/
@SuppressWarnings("unchecked")
public static List<?> getListAsceOrderSort(List<?> list,String property){
if(list==null)return null;
Comparator mycmp = ComparatorUtils.naturalComparator();
Comparator cmp = new BeanComparator(property, mycmp);
Collections.sort(list, cmp);
return list;
}
// public static void main(String[] args) throws Exception {
// List<User> us = new ArrayList<User>();
// User uu = new User();
// uu.setId(11);
// Date d =new Date();
// uu.setDate(new Date(d.getTime()+20000));
// us.add(uu);
// for(int i=0;i<10;i++){
// User u = new User();
// u.setId(i);
// Thread.sleep(1000);
// u.setDate(new Date());
// us.add(u);
// }
// for(User u : us){
// System.out.println(u.getId());
// System.out.println(u.getDate());
// }
// us = (List<User>) getListReverseOrderSort(us, "date");
// for(User u : us){
// System.out.println(u.getId());
// System.out.println(u.getDate());
// }
// }
}