对于这个数组,可以采用字符串排序的方法进行排序。具体步骤如下:

  1. 将每个元素按照“.”进行拆分,得到一个长度为3的字符串数组;
  2. 对于每个字符串数组,将其转换成长度为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]
``
java对数组15100 191010 16890 18175 181710进行排序

原文地址: https://www.cveoy.top/t/topic/dnYa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录