我按一列的值对2D数组进行排序.第一列包含国家/地区代码,第二列包含该国家/地区的滑冰者名称,第三列包含该国家/地区的分数:
skateArray[1][0] = "JPN";
skateArray[1][1] += "Yuzuru HANYU";
skateArray[1][2] = "13";
skateArray[2][0] = "USA";
skateArray[2][1] = "Jeremy ABBOTT "
skateArray[2][2] = "17";
Run Code Online (Sandbox Code Playgroud)
我有这样的工作:
Arrays.sort(skateArray, new Comparator<String[]>() {
public int compare(final String[] entry1, final String[] entry2)
{
final String firstScore = entry1[2];
final String secondScore = entry2[2];
return secondScore.compareTo(firstScore);
}
});
for (final String[] string : skateArray) {
System.out.println(string[0] + " " + string[1] + " " + string[2]);
}
Run Code Online (Sandbox Code Playgroud)
一切都有效,除了输出中的这个怪癖:
GBR 8.0
RUS 37.0
CAN 32.0
USA 27.0
JPN 24.0 …Run Code Online (Sandbox Code Playgroud) 我需要使用循环将每行文本拆分为一个数组.问题是,鉴于文本文件的格式(我无法更改),没有明显的分隔符可供使用:
Adam Rippon New York, NY 77.58144.6163.6780.94
Brandon Mroz Broadmoor, CO 70.57138.1266.8471.28
Stephen Carriere Boston, MA 64.42138.8368.2770.56
Grant Hochstein New York, NY 64.62133.8867.4468.44
Keegan Messing Alaska, AK 61.15136.3071.0266.28
Timothy Dolensky Atlanta, AL 61.76123.0861.3063.78
Max Aaron Broadmoor, CO 86.95173.4979.4893.51
Jeremy Abbott Detroit, MI 99.86174.4193.4280.99
Jason Brown Skokie Value,IL 87.47182.6193.3489.27
Joshua Farris Broadmoor, CO 78.37169.6987.1783.52
Richard Dornbush All Year, CA 92.04144.3465.8278.52
Douglas Razzano Coyotes, AZ 75.18157.2580.6976.56
Ross Miner Boston, MA 71.94152.8772.5380.34
Sean Rabbit Glacier, CA 60.58122.7656.9066.86
Lukas Kaugars Broadmoor, CO 64.57114.7550.4766.28
Philip …Run Code Online (Sandbox Code Playgroud)