我有一個字符串數組組成的名稱和分數。我想按分數排序該數組。問題是,考慮到它是一個字符串數組,分數是字符串,導致13,16,2,5,6而不是2,5,6,13,16。我使用這個代碼:Android排序數組
int spaceIndex;
String[][] scoreboard;
String[] playername;
String[] score;
int sbsize;
array1.add("Thomas" + ":" + 5);
array1.add("Blueb" + ":" + 6);
array1.add("James" + ":" + 16);
array1.add("Hleb" + ":" + 13);
array1.add("Sabbat" + ":" + 2);
sbsize = array1.size();
scoreboard = new String[sbsize][2];
playername = new String[sbsize];
score = new String[sbsize];
pos2 = new int[sbsize];
for (int i=0; i<array1.size(); i++)
{
spaceIndex = array1.get(i).indexOf(':');
scoreboard[i][0] = array1.get(i).substring(0, spaceIndex);
scoreboard[i][1] = array1.get(i).substring(spaceIndex+1, array1.get(i).length());
}
Arrays.sort(scoreboard, new Comparator<String[]>() {
@Override
public int compare(String[] entry1, String[] entry2) {
String time1 = entry1[1];
String time2 = entry2[1];
return time1.compareTo(time2);
}
});
什麼是解決方案?
如果這是分數,爲什麼不把它存儲在整數? OK,即使不是以整數存儲,也可以將其轉換爲整數並進行比較。 – xandy 2011-06-03 09:01:32
需要的網址排序阿里http://www.mkyong.com/java/how-to-sort-an-array-in-java/ – 2015-08-05 07:26:12