我認爲最簡單的方法是使用字符串的臨時數組,因爲你有一個字符串數組 -
樣品陣列:
String array[][][] = {
{
{"Hello", "World"},
{"Apple", "Orange"}
},
{
{"Zebra", "Cow"},
{"Cat", "Ball"}
},
{
{"Elephant", "Whale"},
{"Lion", "Monkey"}
}
};
字符串的臨時數組:
String[] tempArray = new String[array.length * array[0].length * array[0][0].length];
填充臨時陣列:
int tempIndex = 0;
for(int i=0; i<array.length; i++) {
for(int j=0; j<array[i].length; j++) {
for(int k=0; k<array[i][j].length; k++) {
System.out.println("array[" + i + "][" + j + "][" + k + "]: " + array[i][j][k]);
tempArray[tempIndex++] = array[i][j][k];
}
}
}
這也打印 - 如果打印的元素
tempIndex = 0;
for(int i=0; i<array.length; i++) {
for(int j=0; j<array[i].length; j++) {
for(int k=0; k<array[i][j].length; k++) {
array[i][j][k] = tempArray[tempIndex++];
}
}
}
現在 -
array[0][0][0]: Hello
array[0][0][1]: World
array[0][1][0]: Apple
array[0][1][1]: Orange
array[1][0][0]: Zebra
array[1][0][1]: Cow
array[1][1][0]: Cat
array[1][1][1]: Ball
array[2][0][0]: Elephant
array[2][0][1]: Whale
array[2][1][0]: Lion
array[2][1][1]: Monkey
現在,排序的臨時數組 -
Arrays.sort(tempArray);
填寫原數組排序的值原來的陣列再次,它應該打印 -
array[0][0][0]: Apple
array[0][0][1]: Ball
array[0][1][0]: Cat
array[0][1][1]: Cow
array[1][0][0]: Elephant
array[1][0][1]: Hello
array[1][1][0]: Lion
array[1][1][1]: Monkey
array[2][0][0]: Orange
array[2][0][1]: Whale
array[2][1][0]: World
array[2][1][1]: Zebra
有什麼問題? 'entry [0]'是第一列,'entry [1]'是第二列,'entry [2]'是第三列等等。只需比較'entry1 [3]'和'entry2 [3]'來比較第四列。儘管如此,你應該把你的數據放在適當的對象中而不是字符串數組中。 –
你應該真的使用對象。該數組應該是一個對象數組,每個對象有4個屬性(時間,名稱等)。 –