JAVA字符串类型数字排序

createh52周前 (12-14)技术教程14

如果列表的字符串是数字,代码排序起来很费劲。

我们可以使用排序器自定义列表排序

例如:

List<String> list = Arrays.asList("1", "2", "3", "4","5","6","7","8","9","10");

如果这样排序:

List<String> sortListA = list.stream().sorted().collect(Collectors.toList());

那么排序结果是这样: sortListA排序[1, 10, 2, 3, 4, 5, 6, 7, 8, 9] 这个结果不是按照数字从小到大的顺序排序的

所以,需要排序器

我们可以这样:

List<String> sortListB = list.stream().sorted(Comparator.comparing(list::indexOf)).collect(Collectors.toList());

我们把list根据list的指定列表排序

举一反三:

List<String> seasons = Arrays.asList("春", "夏", "秋", "冬");


我们有个这样的数据:

List<SeasonVO> seasonList = new ArrayList<>();// 省略


那么我们就可以按照季节排序了

List<SeasonVO> sortSeasonList = seasonList.stream().sorted(Comparator.comparing(SeasonVO::getSeason,Comparator.comparing(seasons::indexOf))).collect(Collectors.toList());

相关文章

Java 字符串拼接 五种方法的性能比较分析

Java 字符串拼接 五种方法的性能比较分析 从执行100次到90万次> 字符串拼接一般使用“+”,但是“+”不能满足大批量数据的处理,Java中有以下五种方法处理字符串拼接,各有优缺点,程序开...

Java字符串拼接技术演进及阿里巴巴的贡献

阿里妹导读本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。0. 写在前面的省流版下图是Java字符串拼接实现的技术演进路线,最新的实现 PR 20273是...