Re: [問題] 請教一下Collections.sort的comparator..

看板java作者 (痞子軍團團長)時間12年前 (2012/03/22 17:41), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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)

03/23 12:07, , 1F
我想很多會發這種問題的主要原因是 英文閱讀能力不好..
03/23 12:07, 1F
文章代碼(AID): #1FQlFVQz (java)
文章代碼(AID): #1FQlFVQz (java)