Java 数组 字符串

标签 java arrays string sorting

我是java新手,最近编写了一个程序,对字符串数组进行排序 导入java.util.Scanner;

 public class 

最佳答案

您仍然可以使用 Arrays.sort方法,只需提供自己定制的 Comparator :

Arrays.sort(name,
    (String left, String right) ->
        left.substring(1).compareTo(right.substring(1))
);

如果您想自己实现此功能,请注意,如果参数相等,则比较器应返回 0;如果左侧较低,则返回负数;如果右侧较低,则比较器应返回正数。因此,比较器逐个字符将如下所示:

Arrays.sort(name,
    (String left, String right) -> {
        // starting from index 1 and going until reaching end of strings
        for (int i = 1; i < left.length() && i < right.length(); ++i) {
            int diff = left.charAt(i)-right.charAt(i);
            if (diff != 0)
                return diff;
        }
        // if strings are equal so far, return that the lower is the shorter one
        return left.length()-right.length();
    }
);

关于Java 数组 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35451225/

相关文章:

java - 从桌面快捷方式运行 bash 脚本时保持终端打开

java - 如何在 splinter 的测试环境中继续前进?

arrays - 如何在 Ruby 中递归查找二维数组的排列

c - 如何在c中连接多个二维数组

regex - Go : strings or regexp 中短字符串前缀匹配的更好方法

java - 无法解析导入 java.awt

java - 如何在 Mac 上设置 gradle

python - 如何在numpy中指定迭代器的深度?

R提取字符串中的重复单词

c++ - If 语句第二个条件总是执行