Java:Collection集合

Collection大綱

集合也就是Java的一種存儲(chǔ)的容器,與數(shù)組不同的是,數(shù)組既可以存儲(chǔ)基本數(shù)據(jù)類型又可以存儲(chǔ)對(duì)象,而集合只可以存儲(chǔ)對(duì)象。另外,數(shù)組的長度不可更改,集合可以實(shí)時(shí)更改。

Collection集合常用的方法:

boolean add(E e);? ? ?向集合中添加元素

boolean remove(E e);刪除集合中的某個(gè)元素


remove方法

void clear();? ? ? ? ? ? ? ? 清空集合所有元素

boolean contains(E e); 判斷集合內(nèi)是否包含某個(gè)元素

boolean isEmpty():判斷集合是否為空

int size();獲取集合的長度

Object[] toArray();將集合轉(zhuǎn)換為一個(gè)數(shù)組,之后強(qiáng)制類型轉(zhuǎn)換。

1.集合可以使用增強(qiáng)for循環(huán),其是用迭代器實(shí)現(xiàn)的,所有的collection都可用,能夠遍歷完集合。

2.創(chuàng)建集合,不使用泛型,默認(rèn)就是Object,?泛型通配符,用來接收不確定的數(shù)據(jù)類型,只用來做方法的參數(shù)。


泛型通配符的簡單使用

泛型的上限限定 ? extends E 使用的泛型只能是E類型的子類和本身

泛型的下限限定 ? super E 使用的泛型只能是E類型的父類和本身


今日新發(fā)現(xiàn)圖片1


今日新發(fā)現(xiàn)圖片2

今日的發(fā)現(xiàn):println函數(shù)(),的參數(shù)即便是Object,他也可以打印出該對(duì)象實(shí)際的類,并按該類的toString 方法輸出。直接可以通過instanceof判斷Object 是可以到底是那個(gè)對(duì)象的實(shí)例,好方便。

Colletctions:工具類

shuffle() 打亂排序 sort() reverse fill copy min max indexOfSubList ……

sort(List)使用的前提是重寫元素的Comparable,重寫接口中方法的compareTo定義排序的規(guī)則。

Sort(List,Compartor):

ArrayList:元素增刪慢、查找快,底層用數(shù)組實(shí)現(xiàn)

Vector 早期的單列集合,如今也實(shí)現(xiàn)了Collection接口,是單線程的。

LinkedList:查詢慢、增刪快、包含大量操作首尾的方法,底層是用鏈表來實(shí)現(xiàn)的。

HashSet:不允許重復(fù)元素、沒有索引、無序、底層是哈希表(數(shù)組+鏈表+紅黑樹)。

LinkedHashSet:底層是哈希表加個(gè)鏈表,保證有序。


Map和Collection并無關(guān)系,一個(gè)是雙列集合,一個(gè)是單列集合

Map抽象類:子類HashMap、LinkedHashMap有序的

keySet()? entrySet()? put(key,value) get(key)

HashTable :也是雙列集合、線程安全,早期雙列集合的實(shí)現(xiàn)方式。

Iterable接口:實(shí)現(xiàn)這個(gè)接口允許對(duì)象成為 "foreach" 語句的目標(biāo)。主要方法有iterator()獲取實(shí)現(xiàn)iterator接口的對(duì)象,通過next()和hasNext()實(shí)現(xiàn)循環(huán)遍歷。

JDK9.0新特性:

List、Map、Set:實(shí)現(xiàn)了of方法,一次性添加多個(gè)對(duì)象,返回的結(jié)果是不可以改的,只能通過List、Map、Set三個(gè)接口類來調(diào)用,并不能用實(shí)現(xiàn)類。好像覺得,有稍稍不知道什么情況適合使用,慢慢看吧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容