11.2基本概念
java容器類基本用途保存對象,劃分兩個概念
- 1)Collection:存放一組對象的方式
- 2)Map:有映射關系的數據
11.2添加元素
使用Arrays.asList() 生成的數組是不能進行add和delete的,因為他底層是采用數組存儲,大小是固定了.
容器類型?。?br>
ArrayList
LinkedList
HashSet(hash算法)
TreeSet(二叉排序樹按照結果的生序排序)
LinkedHashSet
HashMap
TreeMap
LinkedHashMap
List比較 ArrayList 數據查找比較方便,但是中間插入,刪除的代價會比較高,涉及到需要移動數據.
LinkedList 中間插入數據,和刪除 非常廉價.而且具有棧的方法.新代碼中stack可以用LinkedList代替
迭代器:
Iterator
ListIteretor (只能用于List 可以雙向滑動)
PriorityQueue優(yōu)先級隊列.
總結:
1.如果要大量的隨機訪問使用ArrayList,如果要經常向表中間插入或刪除元素用LinkedList
2.需要使用各種Queue以及棧的行為,使用LinkedList
3.hashMap設計快速訪問,treeMap保持鍵值處于排序狀態(tài),LinkedHashMap保持按元素插入的順序
4.set :hashSet 快速訪問,treeSet排序,LinkedHashSet 插入順序
5.新程序中不要使用過時的vector,hashtable,stack
通過迭代器模式,能更好的看懂java.util 容器包
image.png