java中根据字符串排序
时间: 2024-06-10 16:04:10 浏览: 183
在Java中,可以使用Collections.sort()方法对字符串进行排序。但是,默认的字符串比较排序只会考虑字符的顺序,而不会考虑多个数字的情况。例如,在默认排序中,字符串"15"会被认为比"4"小,因为第一个字符"1"比"4"对应的ASCII的顺序要小。如果想要根据数字的大小进行排序,可以使用自定义的比较器。下面是一种实现方式:
List<String> strList = Arrays.asList(new String[]{"5栋", "7栋", "4栋", "15栋", "24栋", "涉外国际7栋", "涉外国际6栋", "B666栋", "B17栋", "B1栋","A45栋","A22栋"});
Collections.sort(strList, (o1, o2) -> {
int num1 = Integer.parseInt(o1.replaceAll("\\D+",""));
int num2 = Integer.parseInt(o2.replaceAll("\\D+",""));
return Integer.compare(num1, num2);
});
这段代码将根据字符串中的数字进行排序,最终输出的结果将按照数字的大小进行排序。比如,"4栋"会排在"5栋"的前面,"15栋"会排在"24栋"的前面。
阅读全文