对于java实体集合排序这里总结了三种方法,第一种是通过原生支持的Comparator做排序,第二种是通过java8的Lambda表达式进行排序,第三种是使用apache-common的工具包进行排序。经测试都能达到想要的效果,相比而言,第三种代码可读性、易用性更强,推荐使用第三种。
第三种排序需要引入Apache-common的beanutils、collections包,maven如下
<dependency>
<groupId>commons-collectionsgroupId>
<artifactId>commons-collectionsartifactId>
<version>3.2.2version>
dependency>
<dependency>
<groupId>commons-beanutilsgroupId>
<artifactId>commons-beanutilsartifactId>
<version>1.9.3version>
dependency>
代码
public class TestCollections {
private List
运行结果
排序前:[{name=小明, id=2}, {name=小张, id=1}, {name=小红, id=3}]
Collections降序排序后:[{name=小红, id=3}, {name=小明, id=2}, {name=小张, id=1}]
Lambda正序排序后:[{name=小张, id=1}, {name=小明, id=2}, {name=小红, id=3}]
工具包降序排序后:[{name=小红, id=3}, {name=小明, id=2}, {name=小张, id=1}]