我正在处理的作业有点问题。基本上,我有一个文件,其中包含学生 ID 和他们的名字,格式如下:
17987 Beth
17950 Clark
17936 Aaron
我将文件的内容放在一个数组中,我需要按名称而不是 ID 对它进行排序。如果我使用 Arrays.sort(myArray)
它会自动按 ID 排序。我很难理解比较器,所以如果你能一步一步地解释它,对我来说会更容易。
谢谢!
最佳答案
您需要提供一个 Comparator
来查看传递给它的 String
,并且他们必须了解他们正在寻找什么。您可以通过几种不同的方式执行此操作,但是,如果您确定知道字符串的内容,那么您可以根据它们的空间来拆分
String
比较第二个值。或者,您可以使用正则表达式来提取这些详细信息。
class SecondWordComparator implements Comparator<String>
{
@Override
public int compare(String s1, String s2)
{
String[] a1 = s1.split(" ");
String[] a2 = s2.split(" ");
// you should ensure that there are actually two elements here
return a1[1].compareTo(a2[1]);
}
}
关于java - 如何在 Java 中按第二个单词的字母顺序对字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15210748/