1. 什麼是集合
儲存物件的容器,物件導向語言對事物的體現都是以物件的形式,所以為了方便對多個物件的操作,儲存對象,集合是儲存物件最常用的一種方式。
集合的出現就是為了持有物件。集合中可以儲存任意類型的物件, 而且長度可變。在程式中有可能無法預先知道需要多少個物件, 那麼用陣列來裝物件的話, 長度不好定義, 而集合解決了這樣的問題。
2. 集合和陣列的區別
數組和集合類別都是容器
數組長度是固定的,集合長度是可變的。數組中可以儲存基本資料類型,集合只能儲存物件數組中儲存資料類型是單一的,集合中可以儲存任意類型的物件。
集合類別的特徵
用於儲存對象,長度是可變的,可以儲存不同類型的物件。
2.1. 數組的缺點
存儲類型單一的資料容器,操作複雜(數組一旦聲明好不可變)CRUD
1.3. 集合的分類。到集合
2:從集合中刪除物件
3: 從集合中找出一個物件
4:從集合中修改一個物件就是增刪改查
注意:集合和陣列中存放的都是物件的引用而非物件本身
Java工程師對不同的容器進行了定義,雖然容器不同,但是還是有一些共性可以抽取最後抽取了一個頂層介面,那麼就形成了一個集合框架。如何學習呢?當然是從頂層學起,頂層裡邊具有最共性,最基本的行為。具體的使用,就要選擇具體的容器了。為什麼? 因為不斷向上抽取的東西有可能是不能創建對象的.抽象的可能性很大,並且子類對象的方法更多一些. 所以是看頂層,創建底層。那麼集合的頂層是什麼叫做Collection
集合框架系統
Collection: 單列集合List: 有儲存順序, 可重複儲存順序、 陣列實現, 尋找快速, 增加速度
實現, 在增和刪的時候會牽扯到數組
增容, 以及拷貝元素. 所以慢。陣列是可以直接
按索引查找, 所以查找時較快
LinkedList: 鍊錶實作, 增夾 由於鍊錶實現, 增加時只要讓前一個元素記住自
己就可以, 刪除時讓前一個元素記住後一個元素
素, 後一個元素記住前一個元素. 這樣的增刪效
率較高但查詢時需要一個一個的遍歷, 所以效率
較低
所以 效率
較低
: 與ArrayList原理相同, 但線程安全, 效率略低
Set: 無儲存順序, 無法重複
HashSet
TreeSet
LinkedHashSet
Map: 鍵值對
HashMap
TreeMap
HashTable
健康集ure)
注意集合和數組中存放的都是物件的引用。
4. 什麼時候該使用什麼樣的集合