java基礎-Java 集合(第十五節)

     先說好,這個真特麼是重點,集合在java裏面的位置就相當於你兒子在你爸媽心裏的位置, 相當重要

 

​    先安靜,這次先聽我說完,然後再帶你們去看看官方api的一些騷操作,相當好玩;以後你們記得常去看api;附上地址,http://www.matools.com/api/java8,中文版的,也有英文的,可以自行找找哈;

一、集合介紹

先來張圖壓壓驚,看不看得懂都無所謂, 

 

        從上面2個圖你需要知道的就是:java集合框架最主要的就2個,一個是集合(Collection),一個是圖(map);Collection 接口又有 3 種子類型,List、Set 和 Queue,再下面是一些抽象類,最後是具體實現類,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。要記住的是map,List,以及實現類ArrayList,HashMap,優先記住這2個;其他幾個也重要,但是可以暫時先放一邊,等你熟悉了ArrayList和HashMap,你會學其他幾個也就so easy了;千萬不要一次性想吃透,你現在肚子還小,會吃吐的,,前期常用的就我說的這2個,其他的不那麼常用;後面我們也重點介紹這2個;

      

   二、Map,List,ArrayList,HashMap的關係

    前面我們講過接口,抽象類,普通實現類的概念和基本使用,這裏的Map和List都是接口,怎麼看的呢?看下面的圖

 

 

          很明顯這2個都是接口,並且裏面定義了不少未實實現的方法,比如判斷集合裏面是否包含某個元素的方法contains,等等,但是接口裏面是不會具體實現的,這個之前將接口的時候有說過哈。那麼既然沒實現,還有個卵用啊??,別急, 我們不是還提到了2個類嘛,ArrayList和HashMap 這2個類就是實現List和Map這2個接口裏面的方法用的;

          關於ArrayList和HashMap 裏面實現了多少接口方法,你們進去看看就好了,一樣的操作,因此我們在使用集合的時候,這2個類經常使用到。

     

 三、ArrayList和HashMap的區別

        最明顯的就是存儲數據的方式不同:ArrayList以數組的方式存儲數據,裏面的元素是有順序,可以重複的;而HashMap將數據以鍵值對的方式存儲,鍵的哈希碼(hashCode)不可以相同,相同後面的值會將前面的值覆蓋,值可以重複,裏面的元素無序。

      

 

四、ArrayList 基本方法

(1)方法比較多,有20幾個吧,我就列了幾個常用的,比較重要的,優先記住,後面經常會用;

 

add(E e)

將指定的元素追加到此列表的末尾。

 

add(int index, E element)

在此列表中的指定位置插入指定的元素。

 

addAll(Collection<? extends E> c)

按指定集合的Iterator返回的順序將指定集合中的所有元素追加到此列表的末尾。

 

clear()

從列表中刪除所有元素。

contains(Object o)

如果此列表包含指定的元素,則返回 true 。

 

get(int index)

返回此列表中指定位置的元素。

remove(int index)

刪除該列表中指定位置的元素。

 

remove(Object o)

從列表中刪除指定元素(如果存在)。

size()

返回此列表中的元素數。

set(int index, E element)

用指定的元素替換此列表中指定位置的元素。

代碼演示一部分方法,其他幾個,大家自己動手打印一下結果,豐衣足食:

 

 

五、HashMap的基本方法

 

clear()

從這張地圖中刪除所有的映射。

containsValue(Object value)

如果此地圖將一個或多個鍵映射到指定值,則返回 true 。

get(Object key)

返回到指定鍵所映射的值,或 null如果此映射包含該鍵的映射。

put(K key, V value)

將指定的值與此映射中的指定鍵相關聯,就是存放值進去

 

putAll(Map<? extends K,? extends V> m)

將指定地圖的所有映射覆制到此地圖。就是存一整個map集合進去

 

remove(Object key)

從該地圖中刪除指定鍵的映射(如果存在)。

 

replace(K key, V value)

只有當目標映射到某個值時,才能替換指定鍵的條目。

 

size()

返回此地圖中鍵值映射的數量。

 

 

總結:ArrayList的很多方法和HashMap相似,集合的引入是爲了存取更加方便,擴展起來更加簡單順手,相對比數組來說,更加的方便使用,

  1. 數組特點:大小固定,只能存儲相同數據類型的數據

  2. 集合特點:大小可動態擴展,可以存儲各種類型的數據

 

ps:數組的東西比較多,這篇文章肯定不可能全部寫完,我們再後續推出的課程裏面會詳細介紹,還有不懂的,可以加下面的羣交流一下。

歡迎加入途碼技術學習交流二羣,羣聊號碼:322394766

微信公衆號:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章