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