list<Bean> 中的String a属性 按照排序规则 List<String> 排序

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 beanList = new ArrayList<>();
        // 假设已经将数据添加到beanList中

        List sortOrder = new ArrayList<>();
        // 假设已经将排序规则添加到sortOrder中

        Comparator 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中包含了Lista属性的全部可能值,以确保排序有效。

你可能感兴趣的:(list,java)