Java TreeMap的相關問題?

時間 2021-06-20 03:31:25

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了。客戶...