Java中使用commons-beanutils对List元素中的多个属性进行排序 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-16
Java中使用commons-beanutils对List元素中的多个属性进行排序时间:2011-06-12 csdn博客 YidingHecommons-beanutils 类库中有一个 BeanComparator 类,可以用来给 JavaBean 排序。但是这个类一次只能对一个属性排序。下面是一个利用 BeanComparator 实现对 JavaBean 的多个属性进行排序的例子,非常简单: 1.import org.apache.commons.beanutils.BeanComparator; 2.import java.util.Collections; 3.import java.util.Comparator; 4.import java.util.List; 5. 6./** 7. * 对 List 元素的多个属性进行排序的类 8. */ 9.@SuppressWarnings({"unchecked"}) 10.public class ListSorter { 11. 12. /** 13. * List 元素的多个属性进行排序。例如 ListSorter.sort(list, "name", "age"),则先按 14. * name 属性排序,name 相同的元素按 age 属性排序。 15. * 16. * @param list 包含要排序元素的 List 17. * @param properties 要排序的属性。前面的值优先级高。 18. */ 19. public static <V> void sort(List<V> list, final String... properties) { 20. Collections.sort(list, new Comparator<V>() { 21. public int compare(V o1, V o2) { 22. if (o1 == null && o2 == null) return 0; 23. if (o1 == null) return -1; 24. if (o2 == null) return 1; 25. 26. for (String property : properties) { 27. Comparator c = new BeanComparator(property); 28. int result = c.compare(o1, o2); 29. if (result != 0) { 30. return result; 31. } 32. } 33. return 0; 34. } 35. }); 36. } 37.} |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Java中使用commons-beanutils对List元素中的多个属性进行排序 - 编程入门网的所有评论