看板 java 關於我們 聯絡資訊
※ 引述《lovebluetea (cchichi)》之銘言: : 剛剛在處理arraylist的排序上碰到了一些問題… : 想請教一下版上的前輩們... : 我有咕狗過一下還是看不太懂。 你 google 過什麼? http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.htmlhttp://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html #compare(T, T) 的說明有哪裡看不懂? : Collection.sort裡面有個變形是可以用comparrator去處理的, Collection 哪有 sort() 這個 method? 是 Collections 才有這個 method : 但是我看不懂.sort他是怎麼處理Comparator回傳的數字 可以不用看懂,反正 Collections.sort() 就是幫你排到好 你可以把他想成氣泡排序法或任何你懂得排序法 反正,他就是排列(Collection 長相的)陣列 : Collections.sort(queue, new Comparator<int[]>() { : public int compare(int[] arg0, int[] arg1) { : if (arg0 < arg1) : return -1; : else if (arg0 > arg1) : return 1; : return 0; : } : }); : 已上述例子來說... 1 , 0 , -1回傳回去是如何做排序? 「以」上述的例子,你的程式根本 compile 不過 (除非你寫的不是 Java,或是 Java 已經有 operator override) 再者,你自己寫一個測試資料去測試,不就知道了嗎? 還是你要問什麼更進一步的問題是我沒看出來的? : return 1就是代表arg0的順序先於arg1嗎? : 另外還有一個問題= =...他只要知道二個數字間如何比較就可以做完這個sort嗎.. 未必是數字,這玩意美妙之處就在於,給他有 implement Comparable 的物件 或是另外寫個 Comparator 寫明這兩個物件要怎麼比大小就可以 sort 我是不知道有沒有其他排序演算法可以跳脫這個限制 但是,大多數課本上有的演算法,到最後不就是一堆兩兩比較的結果嗎? -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.5.5 ※ 編輯: PsMonkey 來自: 114.25.5.5 (03/23 00:28)
musie:我想很多會發這種問題的主要原因是 英文閱讀能力不好.. 03/23 12:07