1樓:陳玉公尺
我自己回答下自己的第二個問題吧:
看原始碼發現,get的時候若傳了comparator,會用comparator的規則查詢Tree,-1查詢左子樹,1查詢右子樹,0返回本身,若無則返回null。而comparator全返回-1或1,則永遠也查詢不到那個key(即=0),故而全返回null,貼上原始碼。
final
Entry getEntryUsingComparator(Object key) {
K k = (K) key;
Comparator<? super K> cpr =comparator;
if (cpr != null) {
Entry p = root;
while (p != null) {
int cmp = cpr.compare(k,p.key);
if (cmp < 0)
p = p.left;
else if (cmp > 0)
p = p.right;
else
return p;
return null;
自己回答自己問題,當做乙個學習記錄吧~mark
2樓:Charlie W
1. compare全返回0,相當於告訴map所有傳進來的key全相等,那麼map就只會保留第乙個key,後續key全部扔掉了
2. compare全返回1或-1是不行的,因為這就意味著任意兩個key永遠不相等,所以map查詢結果永遠是不存在
python sorted 和 sort 相關問題?
黃哥 sorted 是內建函式,返回排序好的新的list sort 是list 例項物件的乙個方法,可以簡單粗暴的說不帶返回值 其實返回值為None 養成習慣help一下。Help on built in function sorted in module builtin sorted sorted...
2019美國留學必須知道的簽證辦理相關問題
Hank是饕餮 1 在自己的專業範圍內發散思維,尋找愛好。如果題主熱愛自己的專業或工作可以試試。舉個栗子,程式設計師,業餘可以編小遊戲玩 攝影師,業餘可以做點自己的紀錄片。最重要的是,在自己感興趣的領域進行自主學習,本身就是有意義的事情。居安思危,萬一你被辭職了你該怎麼辦。我覺得這是必然要思考的事情...
有麼有這種情況,乙個有Bug的程式設計相關的問題,程式設計師找不出這個Bug,非程式設計師反而能輕易的找出這個Bug?
沒有。樓上說什麼使用者提的bug啥的,程式設計師也能提好嗎,只不過可能他們自己都不用自己的東西,所以不知道bug,但這個原因是 沒有找 而不是 找不出 當然有非程式設計師發現的bug,並且有很多。只不過一般不會是輕而易舉發現的。否則軟體就不需要發布測試版,就不會有customer issue了。客戶...