list 排序

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());
// }
// }

}

你可能感兴趣的:(java,排序,集合,list)