隨筆 - 63  文章 - 0  trackbacks - 0
          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          HashMap 與 TreeMap的區別

          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的值

          posted on 2009-04-18 09:42 lanxin1020 閱讀(217) 評論(0)  編輯  收藏 所屬分類: j2se
          主站蜘蛛池模板: 宜良县| 伊川县| 墨江| 徐州市| 阿克| 乐平市| 扶绥县| 甘泉县| 和硕县| 平潭县| 大英县| 九龙县| 嘉鱼县| 咸宁市| 定远县| 青浦区| 建宁县| 康保县| 石棉县| 诏安县| 静宁县| 宁远县| 扎赉特旗| 波密县| 新兴县| 洪泽县| 旺苍县| 乌兰浩特市| 泰顺县| 大英县| 沙雅县| 集安市| 定南县| 施甸县| 固镇县| 白山市| 突泉县| 丰台区| 阳曲县| 囊谦县| 日土县|