Java通过字符子串对字符串数组进行排序 [英] Java sorting an String Array by a Substring of characters

查看:1302
本文介绍了Java通过字符子串对字符串数组进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要通过字符的子字符串对字符串数组进行排序:

I need to sort an array of strings like the following, by a substring of characters:

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

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

I need to sort by the following "3455, 885, 96545, 5558, 475" I need to substring off the first 4 characters of the array, sort it and display back in an array like the output below.

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

The output should be an array like:

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

我在Java中如何做到这一点的例子?

Example of how I can do this in Java?

推荐答案

您可以使用 比较器 ,并使用 数组#sort 使用它的方法,根据您的需要对其进行排序: -

You can use a Comparator, and use Array#sort method with it, to sort it according to your need: -

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通过字符子串对字符串数组进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆