天天看點

java集合架構學習筆記 總綱(collection及Map)

  前提了解:java集合架構是把接口與實作分離的,以友善開發者自定義集合類(顯然不太現實)。通過一系列的接口規範,衍生出了許多我們使用頻繁的類。在這一系列文章裡,我們将跟着接口->實作的步驟展開,慢慢學習java集合架構,使我們能夠豎立起整體概念,同時進行稍微深入的探究,以便我們正确了解和使用java架構。

        下面是集合架構的接口體系:(後面逐漸講解下各接口)

java集合架構學習筆記 總綱(collection及Map)

Iterable:其主要是要求其實作類提供一個iterator疊代器,以便它們允許對象成為“for-each loop”語句的目标,Collection繼承該接口,是以标準集合實作類均要求提供疊代周遊的方法。

其方法主要有:

       Iterator<T> iterator();//傳回類型元素的疊代器

T

       default void forEach(Consumer<?superT>action) //對每個元素執行給定操作,直到

Iterable

 處理完所有元素或操作引發異常

       default Spliterator<T> spliterator()//建立一個Spliterator由此描述的元素 

Iterable

Collection:Collection 層次結構 中的根接口。Collection 表示一組對象,這些對象也稱為 collection 的元素。一些 collection 允許有重複的元素,而另一些則不允許。一些 collection 是有序的,而另一些則是無序的。JDK 不提供此接口的任何直接 實作:它提供更具體的子接口(如 Set 和 List、Queue)實作。此接口通常用來傳遞 collection,并在需要最大普遍性的地方操作這些 collection。包 (bag) 或多集合 (multiset)(可能包含重複元素的無序 collection)都應該直接實作此接口。

        其提供了對資料的基本操作方法(查、增、删、大小,疊代):

int size();//傳回集合大小
           
boolean contains(Object o);//判斷元素是否存在
           
boolean add(E e);//向集合增加元素,如果成功(集合發生了改變)傳回true否則傳回false
           
boolean remove(Object o);//将集合某個元素删除,如果成功(集合發生了改變)傳回true否則傳回false
           
Iterator<E> iterator();//傳回疊代器
           

    餘下方法可檢視api文檔。

Map(映射):将鍵映射到值的對象。地圖不能包含重複的鍵; 每個鍵最多可以映射一個值。其規範了資料結構-映射,同時也提供了對資料操作基本方法(查、增、删、大小,疊代):(值得一提的是,他還提供了3個集合視圖:鍵集,值集,鍵-值映射)

int size();//傳回集合大小
           
V get(Object key);//傳回與對象相對應的值,不存在該值傳回null(值本身可以為null)
           
boolean containsKey(Object key);// 判斷某key是否存在
           
boolean containsKey(Object key);// 判斷某value是否存在
           
V put(K key, V value);//将鍵與對應值插入映射中,如果該鍵已經存在則傳回舊值,否則傳回null
           
V remove(Object key);//如果存在鍵,則從該映射中移除鍵的映射,傳回此映射先前與該鍵關聯的值,如果該鍵不存在傳回null(如果傳回null,不一定代表不存在該鍵,映射允許值為null)
           
Set<Map.Entry<K, V>> entrySet();//傳回Map.Entry 對象(映射中的鍵/ 值對)的一個集視圖(對該集合的修改也将反響到映射中(可以從這個集中删除元素,但不能不能增加元素),反之亦然)
           
Set<K> keySet();//傳回該映射中的所有鍵的集視圖(對該集合的修改也将反響到映射中(可以從這個集中删除元素,但不能不能增加元素),反之亦然)
           
Collection<V> values();//傳回該映射中所有值的集視圖(對該集合的修改也将反響到映射中(可以從這個集中删除元素,但不能不能增加元素),反之亦然)
           

        java集合架構學習:總綱 就到這裡了,我們可以知道java集合架構可以分為兩類:一種是集合(Collection),存儲一個元素集合,另一種是圖(Map),存儲鍵/值對映射。後面的系列裡,我們将逐漸往下探究,了解其實作過程。

        下一篇我們将繼續學習Collection的List、Set和Queue接口及其代表實作類。