思考:


List:線性表
Set:集合(不能有重復元素)(key)
Map:字典(key, value)

ArrayList:用陣列陣列實作的線性表
LinkedList:用鏈表實作的線性表
HashSet:用哈希表實作set
TreeSet:用二叉樹組的樹實作set
- (用 平衡二叉搜索樹 找元素)
- (平衡演算法:紅黑樹)
常見問題


【思考】:
他們都是list(線性表的結構)
他們實作不同
e:element
【一句話回答】:
List是一個介面,
ArrayList和LinkedList是2個實作,
ArrayList是用陣列實作的,
LinkedList是用鏈表實作的,


什么時候才需要用Hashtable呢?
是么時候都不需要,它只是一個遺留的產物,
執行緒安全的情況下用ConcurrentHashMap;
執行緒不安全的情況下用HashMap;
如果不允許null,在HashMap外面包一下,或者使用第三方類別庫提供不允許null值的Map,



不是,


entry滿天飛



什么時候需要用到Entry?
- 遍歷Map里所有的值,遍歷entrySet()更快,
- 實際使用中,Entry是必須要有的,但是不想過多依賴它,因此用entrySet()回傳的東西還是Set,
總結問題:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277801.html
標籤:其他
下一篇:C++11的執行緒庫
