API_Collection總結(jié)

集合類的由來:
對(duì)象用于封裝特有數(shù)據(jù),對(duì)象多了需要存儲(chǔ),如果對(duì)象的個(gè)數(shù)不確定。
就使用集合容器進(jìn)行存儲(chǔ)。
集合特點(diǎn):
1,用于存儲(chǔ)對(duì)象的容器。
2,集合的長(zhǎng)度是可變的。
3,集合中不可以存儲(chǔ)基本數(shù)據(jù)類型值。

集合容器因?yàn)閮?nèi)部的數(shù)據(jù)結(jié)構(gòu)不同,有多種具體容器。
不斷的向上抽取,就形成了集合框架。

框架的頂層Collection 接口:
Collection 的常見方法:

1,添加
    boolean add(Object obj);
    boolean addAll(Collection coll);
2,刪除
    boolean remove(object obj);
    boolean removeAll(Collection coll);
    void clear( );
3,判斷:
    boolean contains(object obj);
    boolean containsAll(Collection coll);
    boolean isEmpty ( ):判斷集合中是否有元素。
4,獲取:
    int size( );
    iterator( ) : 取出元素的方式:迭代器。
    該對(duì)象必須依賴于具體容器,因?yàn)槊恳蝗萜鞯臄?shù)據(jù)結(jié)構(gòu)都不同。
    所以該迭代器對(duì)象是在容器中進(jìn)行內(nèi)部實(shí)現(xiàn)的。
    對(duì)于使用容器者而言,具體的實(shí)訓(xùn)不重要,只要通過容器獲取到該實(shí)現(xiàn)的迭代器的對(duì)象即可。
    也就是iterator 方法。

    Iterator 接口就是對(duì)所有的Collection容器進(jìn)行元素取出的公共接口。
    其實(shí)就是抓娃娃游戲機(jī)中的夾子。

5,其他:
    boolean retainAll(Collection coll); 取交集。
    Object[ ] toArray( ):將集合轉(zhuǎn)成數(shù)組。

Collection
|--List:有序(存入和取出的順序一致)
|--Set:元素不能重復(fù),無序。

List:特有的常見方法:有一個(gè)共性特點(diǎn)就是都可以操作角標(biāo)。

1,添加
    void add(index,element);
    void add(index,collection);
2,刪除
    Object remove(index);
3,修改
    Object  set(index,element);
4,獲取
    Object get(index);
    int indexOf(object);
    int lastIndexOf(object);
    List subList(from,to);

list 集合是可以完成對(duì)元素的增刪改查。

List:
|--Vector:內(nèi)存是數(shù)組數(shù)據(jù)結(jié)構(gòu),是同步的。增刪、查詢都很慢。(數(shù)組自動(dòng)延長(zhǎng)100%)
|--ArrayList:內(nèi)部是數(shù)組數(shù)據(jù)結(jié)構(gòu),是不同步的。替代了Vector。查詢的速度快。(數(shù)組自動(dòng)延長(zhǎng)50%)
|--LinkedList:內(nèi)部是鏈表數(shù)據(jù)結(jié)構(gòu),是不同步的。增刪元素的速度很快。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容