2006年12月17日 星期日

Comparable 和 Comparator 的差異

Comparable 和 Comparator 的差異是什麼呢?
例如你有一個自行定義的 DVDinfo 物件,然後把他加到 list 去,(例如 ArrayList)這樣,但是你想把他做排序,照開頭的字母排,該怎麼辨呢?
就要把 DVDinfo 去 實作 comparable interface,然後去 overriding compareTo(),改好後就可以照你想要的方法去sort了,但是,若你還想要照其他方法排,那麼該怎麼做?compareTo已經被改寫過了啊。
例如想照 rank 排,那你可以定義一個第三方的 rank class 去實作 comparator 這個 interface,然後改寫他的 compare(T,T) 方法,定義你想排序的規則,然後可用 Collection.sort(dvdlist, rank); 就可以照你定義的方法去排了。
(暫)

2 則留言:

  1. 有個疑點
    這篇是寫給懂程式的人看
    還是寫給不懂程式的人看
    而我界在懂與不懂間
    但是 我卻看不懂
    感覺上也好像不是寫給你自己看的
    ????????

    回覆刪除
  2. 設計的很棒^_^

    對了!!不過有個小地方

    就是如果小偷者也知道這個程式

    並知道如何關閉~那還是不太有用

    可以加設密碼管理控制嗎?比如說要關閉此程式~必需輸入密碼@@

    不過其實好像也不用~因為只要手腳快一點把電池直接拆下來就好了@@....

    防君子不防......

    回覆刪除