Java 按字符子串对字符串数组进行排序

标签 java arrays sorting

我需要按字符子字符串对字符串数组进行排序,如下所示:

[0] = "gtrd3455";
[1] = "wsft885";
[2] = "ltzy96545";
[3] = "scry5558";
[4] = "lopa475";

我需要按以下“3455, 885, 96545, 5558, 475”排序 我需要对数组的前 4 个字符进行子串,对其进行排序并显示回数组中,如下面的输出所示。

输出应该是一个数组,例如:

[0] = "ltzy96545";
[1] = "scry5558";
[2] = "gtrd3455";
[3] = "wsft885";
[4] = "lopa475";

如何在 Java 中执行此操作的示例?

最佳答案

您可以使用 Comparator ,并使用Array#sort方法,根据您的需要对其进行排序:-

String[] yourArray = new String[3];
yourArray[0] = "gtrd3455";
yourArray[1] = "ltzy96545";
yourArray[2] = "lopa475";

Arrays.sort(yourArray, new Comparator<String>() {
    public int compare(String str1, String str2) {
        String substr1 = str1.substring(4);
        String substr2 = str2.substring(4);

        return Integer.valueOf(substr2).compareTo(Integer.valueOf(substr1));
    }
});

System.out.println(Arrays.toString(yourArray));

输出:-

[ltzy96545, gtrd3455, lopa475]

关于Java 按字符子串对字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62361912/

相关文章:

arrays - 从数组中删除数组项

python-3.x - 对 Networkx 图的节点进行排序

java - 如何使 JTable 排序不在事件线程上?

java - 如何使用最后一个输入行转发 Hive UDTF 输出

没有初始化的 C++ 数组成员

java - 如何在android中监听后台鼠标点击

Ruby:对不包括某些符号的数组进行排序

algorithm - 哪种算法用于字母排序?

Java - 如果发生异常,连接/流是否已经关闭以及如何正确处理?

java - 您如何在您的 Web 应用程序中实现客户特定的差异?