深刻理解java合集之框架總覽

綜述java

    Java集合就是一個容器。面嚮對象語言對事物的體現都是以對象的形式存在,因此爲了方便對多個對象的操做,就對對象進行存儲,集合就是存儲對象最經常使用的一種方式。集合只用於存儲對象,集合長度是可變的,集合能夠存儲不一樣類型的對象。若是往集合裏存放基本數據類型,在存取過程當中會有個自動裝箱和拆箱。數組

    由於容器中數據結構不一樣,容器有不少種。不斷地將共性功能向上抽取,造成了集合體系,稱之爲集合框架。數據結構

20150708114830472


    集合框架的頂層就稱之爲Collection接口。全部的集合類都位於java.util包下,查閱API能夠獲得以下體系結構。在使用一個體系時,原則:參閱頂層內容。創建底層對象。框架


20150708114839275
     集合和數組的區別:.net

  1:數組是固定長度的;集合可變長度的。code

  2:數組能夠存儲基本數據類型,也能夠存儲引用數據類型;集合只能存儲引用數據類型。對象

  3:數組存儲的元素必須是同一個數據類型;集合存儲的對象能夠是不一樣數據類型。
------------------------------------------------------------------------------------------------------------------------------------
blog

Collection<E>接口索引

    Collection:單列集合接口

         |--List:有序(元素存入集合的順序和取出的順序一致),元素都有索引,容許重複元素。

         |--Set:無序(存入和取出順序有可能不一致),不容許重複元素,必須保證元素的惟一性。

    java.util.Collection接口中的共性方法有(抽象方法):

    1.添加:
        boolean add(Object obj):一次添加一個。
        boolean addAll(Collection c):將指定容器中的全部元素添加。

    2.刪除:
        void clear():將集合中的元素全刪除,清空集合。
        boolean remove(Object o):刪除集合中指定的對象。注意:刪除成功,集合的長度會改變。
        boolean removeAll(Collection c):刪除部分元素。部分元素和傳入Collection一致.           

       boolean removeIf(Predicate<? super E> filter)  刪除刪除知足給定謂詞的這個集合的全部元素。

    3.取交集:
        boolean retainAll(Collection c):對當前集合中保留和指定集合中的相同的元素。
        若是兩個集合元素相同,返回false;若是retainAll修改了當前集合,返回true。

    4.獲取長度:
        int size():集合中有幾個元素。

   5.判斷:
        boolean isEmpty():集合中是否有元素。
        boolean contains(Object o):集合中是否包含指定元素。
        boolean containsAll(Collection c)集合中是否包含指定的多個元素。

    6.將集合轉成數組。
        Object[] toArray()
        <T> T[] toArray(T[] t)

    7.取出集合元素。
        Iterator iterator():獲取集合中元素上迭代功能的迭代器對象。

=========================================================================

Iterator<E>接口

    java.util.Iterator接口是一個對 collection 進行迭代的迭代器,做用是取出集合中的元素。

    Iterator iterator():獲取集合中元素上迭代功能的迭代器對象。

    迭代:取出元素的一種方式。有沒有啊?有!取一個。還有沒有啊?有!取一個。還有沒有啊?沒有。算了。

    迭代器:具有着迭代功能的對象。迭代器對象不須要new。直接經過 iterator()方法獲取便可。

    迭代器是取出Collection集合中元素的公共方法。


    每個集合都有本身的數據結構,都有特定的取出本身內部元素的方式。爲了便於操做全部的容器,取出元素,將容器內部的取出方式按照一個統一的規則向外提供,這個規則就是Iterator接口。

    也就說,只要經過該接口就能夠取出Collection集合中的元素,至於每個具體的容器依據本身的數據結構,如何實現的具體取出細節,這個不用關心,這樣就下降了取出元素和具體集合的耦合性。

    Iterator it = coll.iterator();//獲取容器中的迭代器對象,至於這個對象是是什麼不重要。這對象確定符合一個規則Iterator接口。


---------------------
做者:李春春_
來源:CSDN
原文:http://www.javashuo.com/article/p-kvwgggkq-hw.html
版權聲明:本文爲博主原創文章,轉載請附上博文連接!




        

原文:http://www.javashuo.com/article/p-kvwgggkq-hw.html

相關文章
相關標籤/搜索