我是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/