注:文章皆为个人纪录,可用性请以最终结果为准,若有错还请大佬们指出,谢谢!
添加依赖
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
工具方法
import org.apache.commons.beanutils.BeanComparator;
import org.apache.commons.collections4.comparators.FixedOrderComparator;
import java.util.Comparator;
import java.util.List;
/**
* 根据集合中元素的某个字段进行自定义排序
*
* @param list 集合
* @param comparatorRole 自定义排序规则
* @param filed 元素自定义排序的字段
*/
public static void getDefinitionComparator(List<?> list, String[] comparatorRole, String filed) {
FixedOrderComparator fixedOrderComparator = new FixedOrderComparator(comparatorRole);
Comparator<Object> definitionComparator = new BeanComparator<>(filed, fixedOrderComparator);
list.sort(definitionComparator);
}
使用示例:
public static final String[] STATIC_VALUES_SORT = new String[]{"排第一位的字段值", "排第二位的字段值", "排第三位的字段值", "排第四位的字段值", "排第五位的字段值"};
List<XXX> currentDatas = iXXXService.getXXXList();
getDefinitionComparator(currentDatas , STATIC_VALUES_SORT, "company_name");