之前對比較器一直模模糊糊,終於搞清楚了。
1. 再定義乙個類,讓其實現比較器介面comparator,重寫介面中的比較器介面compare(t o1, t o2)方法
比較器類跟原來的類為兩個類,原來的類呼叫比較器方法。
class
person
class
personcomparactor
implements
comparactor
}
這個新定義的比較器類可以為匿名內部類,表示方法如下
class
person
queue
q=new
priorityqueue
<
>
(new
comparator
()})
;
還可以用lambda表示式來實現,相當於乙個匿名函式
class
person
queue
q=new
priorityqueue
<
>
((o1, o2)
-> o2.age - o1.age)
;//o1,o2為形參
2. 讓原本的類實現comparable介面,重寫介面中的compareto(t o)方法
只定義乙個類
public
class
person
implements
comparable
}
關於matlab需要重新啟用問題的解決方法
不知道最近各位小夥伴開啟matlab會不會出現需要重新啟用的問題,如下 剛開始我一臉懵逼,後來在網上查了一下,發現原來是許可證過期了,如下 該license file的截止日期是2017 11 11 好吧,這說明我已經很久沒開啟過matlab了 所以就會出現需要重新啟用的情況。從裡面把license...
史上最詳細的Python裝飾器解釋
在python中有個概念叫裝飾器,很多初學者最初聽到這個名詞的時候可能都會一臉懵逼,包括我之前也是,那麼什麼是裝飾器呢。裝飾器本質就是函式,作用是裝飾其它函式,給其它函式增加附加功能,提高 復用,減少 量。實現裝飾器的條件 存在閉包現象 被裝飾的函式做裝飾器函式的引數 關於閉包在我的另一篇文章中會有...
PhantomJS實現最簡單的模擬登入方案
以前寫爬蟲,遇到需要登入的頁面,一般都是通過chrome的檢查元素,檢視登入需要的引數和加密方法,如果 的加密非常複雜,例如登入qq的,就會很蛋疼 在後面,有了pyv8,就可以把加密的js檔案扔給它,然後返回加密後的字串。但是pyv8只能安裝在centos7的版本,而且耗用記憶體也比較大。現在有了p...