大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java面向?qū)ο?/div>
Java異常
Java數(shù)組
Java常用類
Java集合
Java IO流
Java線程
Java反射
Socket編程
Java注解開發(fā)
Java GoF設(shè)計模式
HashMap
Java內(nèi)存模型
Java線性表

Java Map集合小結(jié)

Map集合

按<鍵,值>對的形式存儲元素

put( k, v),  containsKey( k ),  containsValue( v ) , get( k ),  remove( k )

keyset()  ,  values(),  entrySet()

HashMap

底層是哈希表(散列表),  哈希表就是一個數(shù)組, 數(shù)組的每個元素是一個單向鏈表

HashTable

底層是哈希表, 它是線程安全的, HashMap不是線程安全的

初始化容量:11, HashMap初始化容量: 16

加載因子: 0.75,  當(dāng)<鍵,值>對的數(shù)量大于 哈希桶容量 * 加載因子時,  哈希桶擴(kuò)容

HashTable默認(rèn)擴(kuò)容: 2倍 + 1  ,  HashMap擴(kuò)容: 2倍

HashTable的鍵與值都不能為null,  HashMap的鍵與值可以為null

創(chuàng)建HashTable時, 可以指定初始化容量;   HashMap會自動把初始化容量調(diào)整為2的冪次方,就是為了快速計算數(shù)組的下標(biāo)

Properties

繼承了HashTable, 鍵與值都是String類型

經(jīng)常用于設(shè)置/讀取系統(tǒng)屬性值

一般情況下, 系統(tǒng)屬性會保存在配置文件中, 可以通過Properties讀取配置文件的內(nèi)容, 也可以使用ResouceBundle讀取配置文件的屬性

TreeMap

實(shí)現(xiàn)了SortedMap接口, 可以根據(jù)鍵自然排序, 要求鍵必須是可比較的

要么指定Comparator比較器, 如果沒有Comparator比較器,鍵需要實(shí)現(xiàn)Comparable接口

Comparator比較與Comparable如何選擇?

對于TreeMap來說, 先根據(jù)Comaparator比較器進(jìn)行比較大小 , 如果沒有Comparator比較器, 再選擇Comparable接口。

對于開發(fā)人員來說, 一般通過實(shí)現(xiàn)Comparable接口定義一個默認(rèn)的比較規(guī)則 , 通過Comparator比較器定義若干不能同的排序規(guī)則。

如何選擇Map?

如果不需要根據(jù)鍵排序就選擇HashMap, 如果需要根據(jù)鍵排序就選擇TreeMap。

如果在多線程程序中, 使用java.util.concurrent包中的類,如果不需要根據(jù)鍵排序選擇ConcurrentHashMap, 如果需要根據(jù)鍵排序選擇ConcurrentSkipListMap

練習(xí):

編寫用戶的注冊與登錄程序, 使用Map保存用戶名與密碼

主站蜘蛛池模板: 亚洲国产日韩欧美一区二区三区 | 欧美成人69 | 性生大片一级毛片免费观看 | 四虎影院黄色片 | 国产综合另类小说色区色噜噜 | 四虎影视884a精品国产四虎 | 国产精品久久现线拍久青草 | 老司机深夜免费福利 | 色婷婷综合久久久久中文 | 成人欧美视频在线看免费 | 久久精品国产福利国产秒 | 特级黄色毛片 | 国内精品久久久久久影院老狼 | 精品国产91乱码一区二区三区 | aaa影院 | 亚洲成人视 | 亚洲视频 欧美视频 | 午夜欧美在线 | 婷婷综合激情 | 日韩精品一区二区在线观看 | 日本不卡在线视频 | 四虎成人精品在永久免费 | 午夜香蕉成视频人网站高清版 | 国产成人精品免费视频大全办公室 | 成人国产精品999视频 | 久久久高清日本道免费观看 | 国产日韩欧美精品在线 | 特一级男女性色大片 | 97国产免费全部免费观看 | 日本人一级毛片视频 | 伊人久久视频 | 国产成人精品久久综合 | 日日噜噜夜夜狠狠久久丁香 | 免费视频爰爱太爽了 | 欧美亚洲国产精品久久久久 | 99久久免费看国产精品 | 精品黑人一区二区三区 | 97视频免费在线 | 中文字幕在线观看国产 | 日韩一级片 | 91一区二区三区四区五区 |