來源于慕課網(wǎng),感謝??
集合中放的是擁有相同屬性的對象。
比如,我們要創(chuàng)建一個學生類,學生可以選各種不同課,所有課程都可以作為學生屬性的一個 -> 但重復性地定義不同的“課程”是件很低效的事 -> 所以我們找了一個容器,把課程都放進這個容器里面 -> 這個容器,就是java中的集合。
Java中的集合類:是一種工具類(java.util.XXX),就像是容器,存儲任意數(shù)量的,具有共同屬性的對象
集合類的作用:
1) 在類的內部,對數(shù)據(jù)進行整理+組織
2) 簡單快速的搜索數(shù)據(jù)
3) 對在某個特定地方(比如某排某列)的數(shù)據(jù)進行增刪改
4) (快速查詢作用)某些集合接口,提供了映射關系,可以通過關鍵字(key)快速查找對應的唯一對象。 這個關鍵字可以是任意類型。(例如,為了區(qū)分自己的行李,在上面別上一個姓名牌,這個姓名牌就是key)
數(shù)組 vs 集合
1)長度
數(shù)組長度已定,就像打狗棍 <--> 集合長度可變,像是金箍棒
2)查找方式
數(shù)組只能通過下標訪問元素,類型必須是int(數(shù)組下標) <--> 有的集合(上面的4.)可以通過任意類型查找所映射的對象
解釋:有時候不知道某個特定元素到底在哪里,對于數(shù)組來說,只能用遍歷的方法進行查找;但某些類型的集合(4.)可以用任意類型的關鍵字,通過映射來查找唯一對應的對象
Java集合框架體系
Collection和Map是兩個接口
Collection---------------------------->>
有三個子接口:List/序列,Queue/隊列,Set/集
(其中List和Queue中的元素是排列有序,且可重復;Set是無序,且不可重復)
ArrayList/數(shù)組序列
LinkedList/鏈表
HashSet/哈希集
Map---------------------------->>
Map也有很多子接口,但其中最常用的是它的實現(xiàn)類HashMap
存儲方式: Collection vs Map
Collection(就像單身狗):存儲的是一個一個獨立的對象;
Map/(就像情侶入住水電全免):我們上面集合作用的第4條提到過,有些集合可以通過關鍵字來查找對象,這種集合就是Map,Map中,會以<Key,Value>兩個對象以映射的方式進行存儲,這個<XX,XX>被我們稱作Entry/鍵值對,其中key和value都可以是任意類型的對象
(?? 注意:這個Entry是一個Map的內部類,鍵值對=一個鍵,一個值,湊成一對?。?/p>
-嗯,單身狗先哭一哭-
咳咳,回歸正題,具體結構如下圖:
