HashMap 與 TreeMap的區別

HashMap通過hashcode對其內容進行快速查找,而TreeMap中所有的元素都保持着某種固定的順序,如果你需要得到一個有序的結果你就應該使用TreeMap(HashMap中元素的排列順序是不固定的)。

HashMap通過hashcode對其內容進行快速查找,而TreeMap中所有的元素都保持着某種固定的順序,如果你需要得到一個有序的結果你就應該使用TreeMap(HashMap中元素的排列順序是不固定的)。

集合框架”提供兩種常規的Map實現:HashMapTreeMap (TreeMap實現SortedMap接口)。在Map 中插入、刪除和定位元素,HashMap 是最好的選擇。但如果您要按自然順序或自定義順序遍歷鍵,那麼TreeMap會更好。使用HashMap要求添加的鍵類明確定義了hashCode()equals()的實現。  這個TreeMap沒有調優選項,因爲該樹總處於平衡狀態。

2、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?hash code是什麼意思

 hashcode是給一系列hash算法用的,比如hashtable。不同的對象應該有不同的hashcode,同一個對象應該有同樣的hashcode

更正,不是同一個對象,而是相等的對象,應該有相同的hashcode

hash算法是什麼啊,作用? hash算法基本就是爲了將一個對象和一個整數對應起來,不同的對象對應不同的整數。
(x.equals(y) == true)那這個的話就是去比較它們所對應的整數?
不是。有一個equals()函數,和一個hashcode()函數

3、String a="abc";String b=new String("abc");String c="abc";

System.out.println(a==b);f
System.out.println(a==c);t
System.out.println(b==c);f
System.out.println(a.equals(b));
輸出結果是什麼?
爲什麼?

4、a=0;b=0;
if((a=3)>0|(b=3)>0){}
if((a=3)>0||(b=3)>0){}分別說出a,b的值

 
發佈了83 篇原創文章 · 獲贊 0 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章