風(fēng)雨無(wú)阻

          JAVA集合類(lèi)總結(jié)

           

          l       HashSet:如果集合中對(duì)象所屬的類(lèi)重新定義了equals()方法,那么這個(gè)類(lèi)也必須重新定義hashCode()方法,并且保證當(dāng)兩個(gè)對(duì)象用equals()方法比較的結(jié)果為true時(shí),這兩個(gè)對(duì)象的hashCode()方法的返回值相等。

          l       TreeSet:如果對(duì)集合中的對(duì)象進(jìn)行自然排序,要求對(duì)象所屬的類(lèi)實(shí)現(xiàn)Comparable接口,并且保證這個(gè)類(lèi)的compareTo()equals()方法采用相同的比較規(guī)則來(lái)比較兩個(gè)對(duì)象是否相等。

          l       HashMap:如果集合中鍵對(duì)象所屬的類(lèi)重新定義了equals()方法,那么這個(gè)類(lèi)也必須重新定義hashCode()方法,并且保證當(dāng)兩個(gè)鍵對(duì)象用equals()方法比較的結(jié)果為true時(shí),這兩個(gè)鍵對(duì)象的hashCode()方法的返回值相等。

          l       TreeMap:如果對(duì)集合中的鍵對(duì)象進(jìn)行自然排序,要求鍵對(duì)象所屬的類(lèi)實(shí)現(xiàn)Comparable接口,并且保證這個(gè)類(lèi)的compareTo()equals()方法采用相同的比較規(guī)則來(lái)比較兩個(gè)對(duì)象是否相等。

          由此可見(jiàn),為了使應(yīng)用程序更加健壯,在編寫(xiě)JAVA類(lèi)時(shí)不妨養(yǎng)這樣的編程習(xí)慣:

          l       如果JAVA類(lèi)重新定義了equals()方法,那么這個(gè)類(lèi)也必須重新定義hashCode()方法,并且保證當(dāng)兩個(gè)對(duì)象用equals()方法比較的結(jié)果為true時(shí),這兩個(gè)對(duì)象的hashCode()方法的返回值相等。

          l       如果JAVA類(lèi)實(shí)現(xiàn)了Comparable接口,那么應(yīng)該重新定義compareTo()equals()hashCode()方法,保證compareTo()equals()方法采用相同的比較規(guī)則來(lái)比較兩個(gè)對(duì)象是否相等,并且保證當(dāng)兩個(gè)對(duì)象用equals()方法比較的結(jié)果為true時(shí),這兩個(gè)對(duì)象的hashCode()方法的返回值相等。

          posted on 2008-03-12 14:29 秋楓故事 閱讀(250) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2008年3月>
          2425262728291
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(2)

          隨筆分類(lèi)

          隨筆檔案

          新聞檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 建瓯市| 新巴尔虎左旗| 伊宁县| 济南市| 武山县| 上高县| 景洪市| 正蓝旗| 高青县| 南召县| 九台市| 崇州市| 纳雍县| 旬邑县| 特克斯县| 宁晋县| 灌云县| 苏州市| 平阳县| 浦城县| 城市| 文山县| 鲁山县| 文成县| 环江| 寿宁县| 富蕴县| 武定县| 延吉市| 星座| 宁陵县| 山阳县| 高邮市| 大姚县| 达尔| 鄂尔多斯市| 日喀则市| 五大连池市| 大足县| 商洛市| 罗平县|