亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Map集合框架的使用

2019-11-14 15:18:02
字體:
來源:轉載
供稿:網友

 

Map用于保存具有映射關系的數據(key-vlaue)。Map的key不允許重復,即同一個Map對象的任何兩個key通過equals方法比較總是返回false

Map中包含了一個keySet()方法,用于返回Map所以key組成的Set集合。

    Map集合與Set集合元素的存儲形式很像,如Set接口下有HashSet、LinkedHashSet、SortedSet(接口)、TreeSet、EnumSet等實現類和子接口,而Map接口下則有HashMap、LinkedHashMap、SortedMap(接口)、TreeMap、EnumMap等實現類和子接口。

 

    Map的value非常類似List:元素與元素之間可以重復,每個元素可以根據索引(key)來查找。

    Map有時也稱為字典,或關聯數組。

Map接口中定義如下方法:

  • void clear();刪除Map對象中所有key-value對。
  • boolean containsKey(Object key):查詢Map中是否包含指定key,如果包含則返回true。
  • boolean containsValue(Object value):查詢Map中是否包含一個或多個value,如果包含則返回true。
  • Set entrySet():返回Map中所有包含的key-value對組成的Set集合,每個集合元素都是Map.Entry(Entry是Map的內部類)對象。
  • Object get(Obejct key):返回指定key所對應的value;如果此Map中不包含key,則返回null。
  • boolean isEmpty():查詢該Map是否為空(即不包含任何key-value對),如果為空則返回true。
  • Set keySet():返回該Map中所有key所組成的set集合。
  • Object put(Object key, Object value):添加一個key-value對,如果當前Map中已有一個與該key相等的key-value對,則新的key-value對會覆蓋原來的key-value對。
  • Object remove(Object key):刪除指定key對應的key-value對,返回被刪除key所關聯的value,如果該key不存在,返回null。
  • int size():返回該Map里的key-value對的個數。
  • Collection values():返回該Map里所有value組成的Collection。

    Map接口提供了大量的實現類,如HashMap和Hashtable等,以及HashMap的子類LinkedHashMap,還有SortedMap子接口及該接口的實現類TreeMap。下面將進行詳細介紹。

    Map中包括一個內部類:Entry。該類封裝了一個key-value對,Entry包含三個方法:

  • Object getkey():返回該Entry里包含的key值。
  • Object getValue():返回該Entry里包含的value值。
  • Object setValue():設置該Entry里包含的value值,并返回新設置的value值。

    可以把Map理解成一個特殊的Set,只是該Set里包含的集合元素是Entry對象,而不是普通對象。

 

1、HashMap和Hashtable實現類

  HashMap和Hashtable都是Map接口的實現類,Hashtable是一個古老的Map實現類,它從JDK1.0起就有,它包含兩個煩瑣的方法:elements()(類似于Map接口定義的values()方法)和keys()(類似于Map接口定義的keySet()方法),現在很少使用這兩種方法。

兩點區別:

  • Hashtable是一個線程安全的Map實現,但HashMap是線程不安全的實現,所以HashMap比Hashtable的性能高些;但如果多線程訪問同一個Map對象,使用Hashtable實現類更好。
  • Hashtable不允許使用null作為key和value,如果為null,則引發NullPointerException異常;但HashMap可以使用null作為key或value。

  由于HashMap里的可以不能重復,所以HashMap里最多只有一對key-value值為null,但可以有無數多項key-value對的value為null。

  HashMap重寫了toString()方法方法總是返回如下格式的字符串:{key1 = value1,key2 = value2..}

  HashMap、Hashtable判斷兩個key相等的標準是:兩個key通過equasl方法比較返回ture,兩個key的hashCode值相等。

LinkedHashMap類

  HashMap有一個子類:LinkedHashMap,它也是雙向鏈表來維護key-value對的次序,該鏈表定義了迭代順序,該迭代順序與key-value對的插入順序保持一致。

LinkedHashMap可以避免對HashMap、Hashtable里的key-value對進行排序(只要插入key-value對時保持順序即可)。同時又可避免使用TreeMap所增加的成本。

LinkedHashMap需要維護元素的插入順序,因此性能略低于HashMap的性能,但在迭代訪問Map里的全部元素時將有很好的性能,因為它以鏈表來維護內部順序。

PRoperties類

  Properties類是Hashtable類的子類,用于處理屬性文件(例如Windows操作平臺上的ini文件)。Properties類可以把Map對象和屬性文件關聯起來,從而可以把Map對象中的key-value對寫入屬性文件,也可以把屬性文件中的屬性名=屬性值加載到Map對象中。由于屬性文件里的屬性名、屬性值只能是字符串類型,所以Properties里的key、value都是字符串類型,該類提供了如下三個方法來修改Properties里的key、value值。

  1. String getProperty(String key):獲取Properties中指定屬性名對應的屬性值,類似于Map的get(Object key)方法。
  2. String getProperty(String key, String defaultValue):該方法與前一個方法基本類似。該方法多一個功能,如果Properties中不存在指定key時,該方法返回默認值。
  3. Object geProperty(String key、String value):設置屬性值,類似Hashtable的put方法。

提供兩個讀、寫屬性文件的方法:

  1. void load(InputStream inStream):從屬性文件(以輸入流表示)中加載屬性名=屬性值,把加載到的屬性名=屬性值對追加到Properties里(由于Properties是Hashtable)的子類,它不保證key-value對之間的次序)。
  2. void Store(OutputStream out, String comment):將Properties中的key-valu對寫入指定屬性文件(以輸出流表示)。

---恢復內容結束---


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
深夜福利91大全| 精品女同一区二区三区在线播放| 欧美日韩中文字幕综合视频| 九色成人免费视频| 国产一区二区av| 蜜臀久久99精品久久久无需会员| 欧美黄网免费在线观看| 97在线免费观看| 亚洲国产成人精品久久久国产成人一区| 亚洲第一精品夜夜躁人人躁| 国产亚洲精品成人av久久ww| 在线亚洲男人天堂| 亚洲国产一区自拍| 亚洲成人av片在线观看| 成人网在线视频| 亚洲自拍高清视频网站| 亚洲国产第一页| 永久免费毛片在线播放不卡| 成人xvideos免费视频| 午夜精品99久久免费| 成人免费视频97| 国产精品99蜜臀久久不卡二区| 久久99视频免费| 国产精品男女猛烈高潮激情| 97免费中文视频在线观看| 亚洲午夜精品久久久久久性色| 精品国内产的精品视频在线观看| 欧美高清自拍一区| 日韩av在线影视| 日本高清+成人网在线观看| 久久久亚洲福利精品午夜| 国产一区红桃视频| 亚洲精品久久久久久久久久久久| 欧美巨乳美女视频| 97人洗澡人人免费公开视频碰碰碰| 色综合天天狠天天透天天伊人| 久久天天躁夜夜躁狠狠躁2022| 91地址最新发布| 久久精品99无色码中文字幕| 亚洲精品乱码久久久久久金桔影视| 综合网日日天干夜夜久久| 欧美大片第1页| 国产成人高清激情视频在线观看| 亚洲精品成人网| 午夜精品蜜臀一区二区三区免费| 国内伊人久久久久久网站视频| 欧美激情综合亚洲一二区| 欧美壮男野外gaytube| 久久久久久久久久久网站| 亚洲aa在线观看| 97国产在线视频| 久久精品国产清自在天天线| 亚洲精品国产精品自产a区红杏吧| 亚洲综合在线小说| 日韩av综合网站| 日韩欧美主播在线| 国产精品人人做人人爽| 97视频在线观看视频免费视频| 欧美一级视频免费在线观看| 538国产精品一区二区免费视频| 国产亚洲精品久久久久久777| 午夜精品久久久久久久99热浪潮| 成人亚洲综合色就1024| 国产视频在线观看一区二区| 久久国产精品久久国产精品| 亚洲午夜国产成人av电影男同| 国产综合视频在线观看| 97人人模人人爽人人喊中文字| 色噜噜狠狠狠综合曰曰曰88av| 亚洲第一精品久久忘忧草社区| 色综合导航网站| 日韩视频一区在线| 日韩一二三在线视频播| 亚洲男人的天堂网站| 91精品国产自产91精品| 啊v视频在线一区二区三区| 91欧美日韩一区| 精品视频久久久久久| 国产日韩欧美夫妻视频在线观看| 日本久久91av| 中文字幕亚洲欧美日韩在线不卡| 91久久久亚洲精品| 久久精品亚洲热| 中文字幕欧美日韩va免费视频| 精品福利樱桃av导航| 亚洲视频在线播放| 狠狠爱在线视频一区| 国产精品久久综合av爱欲tv| 国产精品你懂得| 亚洲tv在线观看| 91tv亚洲精品香蕉国产一区7ujn| 国产亚洲人成a一在线v站| 韩国视频理论视频久久| 亚洲最大福利视频网站| 精品国产欧美一区二区五十路| 国产精品网址在线| 欧美在线激情视频| 91理论片午午论夜理片久久| 日韩小视频在线| 国产亚洲精品久久久| 国产欧美日韩精品在线观看| 91精品久久久久久久久久另类| 岛国精品视频在线播放| 青青草国产精品一区二区| 日韩av免费在线| 亚洲一区二区自拍| 亚洲一区二区免费| 国产亚洲激情在线| 国产精品视频自在线| 久久久亚洲欧洲日产国码aⅴ| 97国产成人精品视频| 另类少妇人与禽zozz0性伦| 亚洲欧美国产高清va在线播| 日韩av在线资源| 久久免费国产精品1| 色狠狠av一区二区三区香蕉蜜桃| 中文国产成人精品| 国产精品视频区| xxxx性欧美| 国产精品成熟老女人| 国产成人精品视频在线观看| 国产精品成人在线| 欧美视频在线视频| 欧美男插女视频| 97久久精品视频| 久久偷看各类女兵18女厕嘘嘘| 国产女同一区二区| 亲爱的老师9免费观看全集电视剧| 91精品国产自产在线观看永久| 欧美猛男性生活免费| 精品国产91久久久| 日韩中文av在线| 欧美成人国产va精品日本一级| 亚洲第一精品福利| 日韩中文字幕视频在线观看| 国产精品成人va在线观看| 亚洲国产高清自拍| 久久久免费高清电视剧观看| 国产欧亚日韩视频| 欧美激情aaaa| 欧美专区在线观看| 日韩在线不卡视频| 免费不卡欧美自拍视频| 精品综合久久久久久97| 欧美国产视频一区二区| 国产一区二区三区毛片| 国产精品最新在线观看| 日韩成人av在线| 一道本无吗dⅴd在线播放一区| 热99精品里视频精品| 欧美亚洲日本黄色| 欧美成人亚洲成人日韩成人| 久久亚洲影音av资源网| 国产精品视频网站| 国产精品草莓在线免费观看| 亚洲欧美另类自拍| 91精品国产综合久久男男| 最近2019年手机中文字幕| 国产日韩欧美中文在线播放| 中文字幕日韩在线视频| 日本高清不卡的在线| 久久久视频精品| 欧美黄色片视频| 亚洲香蕉在线观看|