對於此作業,我需要排序一個列表並保留原始列表,但是當我單擊按鈕兩次時,原始列表也會被排序。ArrayList一個循環排序,另一個未排序
String output = "";
String sortedOutput = "";
//ORIGINAL OUTPUT
for (int j = 0; j < song.size(); j++){
output += song.get(j) + "\n";
}
//SORTED OUTPUT
for (int k = 0; k < song.size(); k++){
Collections.sort(song);
sortedOutput += song.get(k) + "\n";
}
titleArtistOutput.setText("Original Order\n" + output + "\nSorted Order\n" + sortedOutput);
有什麼我可以放在第一個循環,以防止它被排序?
編輯:
謝謝Jon Skeet!
我又ArrayList的
String output = "";
String sortedOutput = "";
List <String> sortedSongs = new ArrayList <String> (song);
for (int j = 0; j < song.size(); j++){
output += song.get(j) + "\n";
}
for (int k = 0; k < song.size(); k++){
Collections.sort(sortedSongs);
sortedOutput += sortedSongs.get(k) + "\n";
}
titleArtistOutput.setText("Original Order\n" + output + "\nSorted Order\n" + sortedOutput);
對不起,我簡單的問題,我是新來編程。
每次迭代對列表進行排序有什麼意義?只分類一次。 –
您似乎只有一個列表... –
建議您查看http://docs.oracle.com/javase/6/docs/api/java/util/Collections.html#sort的javadocs( java.util.List)如果你需要,你需要保留兩個列表,你知道,兩個列表。 – Taylor