更新時間:2019-11-15 11:20:26 來源:動力節點 瀏覽2275次
1.集合
1.1.什么是集合
存儲對象的容器,面向對象語言對事物的體現都是以對象的形式,所以為了方便對多個對象的操作,存儲對象,集合是存儲對象最常用的一種方式。
集合的出現就是為了持有對象。集合中可以存儲任意類型的對象,而且長度可變。在程序中有可能無法預先知道需要多少個對象,那么用數組來裝對象的話,長度不好定義,而集合解決了這樣的問題。
1.2.集合和數組的區別
數組和集合類都是容器
數組長度是固定的,集合長度是可變的。數組中可以存儲基本數據類型,集合只能存儲對象數組中存儲數據類型是單一的,集合中可以存儲任意類型的對象。
集合類的特點
用于存儲對象,長度是可變的,可以存儲不同類型的對象。
1.2.1.數組的缺點
存儲類型單一的數據容器,操作復雜(數組一旦聲明好不可變)CRUD
1.3.集合的分類
集合做什么
1:將對象添加到集合
2:從集合中刪除對象
3:從集合中查找一個對象
4:從集合中修改一個對象就是增刪改查
注意:集合和數組中存放的都是對象的引用而非對象本身
Java工程師對不同的容器進行了定義,雖然容器不同,但是還是有一些共性可以抽取最后抽取了一個頂層接口,那么就形成了一個集合框架。如何學習呢?當然是從頂層學起,頂層里邊具有最共性,最基本的行為。具體的使用,就要選擇具體的容器了。為什么?因為不斷向上抽取的東西有可能是不能創建對象的.抽象的可能性很大,并且子類對象的方法更多一些.所以是看頂層,創建底層。那么集合的頂層是什么呢叫做Collection
集合框架體系
---|Collection:單列集合
---|List:有存儲順序,可重復
---|ArrayList:數組實現,查找快,增刪慢
由于是數組實現,在增和刪的時候會牽扯到數組
增容,以及拷貝元素.所以慢。數組是可以直接
按索引查找,所以查找時較快
---|LinkedList:鏈表實現,增刪快,查找慢
由于鏈表實現,增加時只要讓前一個元素記住自
己就可以,刪除時讓前一個元素記住后一個元
素,后一個元素記住前一個元素.這樣的增刪效
率較高但查詢時需要一個一個的遍歷,所以效率
較低
---|Vector:和ArrayList原理相同,但線程安全,效率略低
和ArrayList實現方式相同,但考慮了線程安全問
題,所以效率略低
---|Set:無存儲順序,不可重復
---|HashSet
---|TreeSet
---|LinkedHashSet
---|Map:鍵值對
---|HashMap
---|TreeMap
---|HashTable
---|LinkedHashMap
為什么出現這么多集合容器,因為每一個容器對數據的存儲方式不同,這種存儲方式稱之為數據結構(datastructure)
注意集合和數組中存放的都是對象的引用。
1.1.什么時候該使用什么樣的集合
Collection
我們需要保存若干個對象的時候使用集合。
List
如果我們需要保留存儲順序,并且保留重復元素,使用List.
如果查詢較多,那么使用ArrayList
如果存取較多,那么使用LinkedList
如果需要線程安全,那么使用Vector
Set
如果我們不需要保留存儲順序,并且需要去掉重復元素,使用Set.
如果我們需要將元素排序,那么使用TreeSet
如果我們不需要排序,使用HashSet,HashSet比
TreeSet效率高.
如果我們需要保留存儲順序,又要過濾重復元素,那么使用LinkedHashSet
以上就是動力節點java學院小編針對“新手Java入門到精通,內涵基礎java教程視頻”的內容進行的回答,希望對大家有所幫助,如果對于學習Java的學習計劃,怎么學才有效率,或者學完如果找工作的問題,請在線咨詢,有專業老師隨時為你服務。
零基礎自學java教程推薦
最新java視頻教程免費下載(從入門到精通):http://m.dabaquan.cn/video.html
零基礎java自學教程:http://m.dabaquan.cn/tutorial_java_se/
相關推薦
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習