Java String 字符串 Comparator 定义排序规则

1,134 阅读1分钟
public static void main(String[] args) {
    //
    //需求 19CODEA11,19CODEA22,20CODEA11,19CODE22,19CODEB11,19CODEB11,19CODEB1
    //数据格式,year_code_number
    // 按 year number code 字典排序
    List<String> list = Arrays.asList("19CODEA11", "19CODEA22", "20CODEA11", "19CODEB22", "19CODEB11", "19CODEB11", "19CODEB1");
    Comparator<String> stringComparator = Comparator.<String, String>comparing(str -> str.substring(0, 2)).thenComparing(str -> str.substring(2, 7)).thenComparing(str -> str.substring(7));
    list.sort(stringComparator);
}