集合框架-List
常見(jiàn)數(shù)據(jù)結(jié)構(gòu)
數(shù)組(ArrayList)
鏈表(LinkedList)
堆棧(棧)特點(diǎn):先進(jìn)后出/后進(jìn)先出
隊(duì)列:先進(jìn)先出/后進(jìn)后出
集合框架的體系
collection:所有集合接口的超級(jí)接口
常用集合的特點(diǎn)
如何選擇
ArrayList
1 多查詢API
2 基本數(shù)據(jù)的維護(hù)(CRUD)
集合的遍歷
1 for
2 foreach
3 迭代器
? (1) 單向迭代器
???? Iterable接口方法
Iterator 接口 有借口方法 iterator<T>itrrator();
返回一個(gè)Iterator
Iterator
hasNext()是否有下一個(gè)(不會(huì)移動(dòng)指針)
next();返回下一個(gè)元素(不要移動(dòng)元素)
未調(diào)用next,不能remove方法
ConcurrentMofificationEx...異常
(2) 雙向迭代器
???? listIterator
???????? List下面的方法
LinkList
?? 多查詢API
?? 基于數(shù)據(jù)結(jié)構(gòu)的不同,提供了很多操作頭和尾的方法
Set
使用的大環(huán)境:無(wú)序(添加的順序)疏旨、不重復(fù)
HashSet
1.判斷重復(fù)的標(biāo)準(zhǔn)
2.hashCode&&equals
3.根據(jù)自己的業(yè)務(wù)場(chǎng)景決定覆寫(xiě)方法的邏輯
TreeSet
1.有排序的功能
2.Comparator 用于自定義比較器
?? (1).往集合中放的時(shí)候? TreeSet(Comparator<? super E> comparator)
3.Comparable 自然排序
集合的體系
Map
接口
HashMap
TreeMap
判斷key重復(fù)的標(biāo)準(zhǔn)? 和 HashSet 很魂、TreeSet一樣
map常用方法
CRUD
遍歷方式
?? 1.使用Set<Entry>
?? 2.使用keySet 方法
Collections工具類(lèi)
Properties
特殊的hashTable
使用場(chǎng)景:讀取電腦上配置文件
hashMap的底層原理
泛型
建議:多使用泛型
泛型類(lèi)的定義
泛型的上下限(讀API)