list 中的String a属性 按照排序规则 List 排序
实体类Bean 有个String字段a
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Bean> beanList = new ArrayList<>();
// 假设已经将数据添加到beanList中
List<String> sortOrder = new ArrayList<>();
// 假设已经将排序规则添加到sortOrder中
Comparator<Bean> beanComparator = Comparator.comparing(bean ->
bean.getA(), Comparator.comparingInt(sortOrder::indexOf));
Collections.sort(beanList, beanComparator);
}
}
在以上代码中,我们使用Comparator.comparing()
方法来创建一个比较器,以bean.getA()
获取属性a
的值,并使用sortOrder.indexOf()
方法来获取该值在排序规则sortOrder
中的索引。然后我们使用Collections.sort()
方法将beanList
按照该比较器进行排序。
请注意,上述示例代码中的Bean
类和getA()
方法是举例用的,你需要根据实际情况进行相应的修改。而且,请确保sortOrder
中包含了List<Bean>
中a
属性的全部可能值,以确保排序有效。