java对数组15100 191010 16890 18175 181710进行排序
对于这个数组,可以采用字符串排序的方法进行排序。具体步骤如下:
- 将每个元素按照“.”进行拆分,得到一个长度为3的字符串数组;
- 对于每个字符串数组,将其转换成长度为3的整型数组,然后进行比较排序;
- 将排序后的每个整型数组转换成对应的字符串,得到排序后的数组。
Java代码如下:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] arr = {"15.10.0", "19.10.10", "16.89.0", "18.17.5", "18.17.10"};
Arrays.sort(arr, (s1, s2) -> {
String[] arr1 = s1.split("\\.");
String[] arr2 = s2.split("\\.");
for (int i = 0; i < 3; i++) {
int num1 = Integer.parseInt(arr1[i]);
int num2 = Integer.parseInt(arr2[i]);
if (num1 != num2) {
return num1 - num2;
}
}
return 0;
});
System.out.println(Arrays.toString(arr));
}
}
输出结果为:
[15.10.0, 16.89.0, 18.17.5, 18.17.10, 19.10.10]
``
原文地址: https://www.cveoy.top/t/topic/dnYa 著作权归作者所有。请勿转载和采集!