Java學習筆記--集合

來源:互聯網
上載者:User

標籤:

學習集合需要掌握1136, 即一個圖,一個類(Collections),三個知識點(foreach, 泛型, 自動打包和解包),六個介面(Collection,  List, Set, Map, Iterator, Comparable).

1. 一個圖:Map儲存的是索引值對,可以認為是雙列Collection.

  

2. 一個類:java.utils.Collections類

  java.utils.Collections類提供了一些靜態方法實現了基於List容器的一些常用演算法。

    void sort(List), 對List容器內的元素排序

      void shuffle(List), 對List容器內的對象進行隨機排序

      void reverse(List), 對List容器內的對象進行逆序排列

      void fill(List, Object), 用一個特定的對象重寫整個List容器

      void copy(List dest, List src), 將src List容器內容複製到dest List容器

      int binarySearch(List, Object),   對於順序的List容器,採用折半尋找的方法尋找特定對象 

 3. Comparable介面:

     大家或有疑問,上面那的演算法是根據什麼來確定容器中的對象的“大小”順序的呢?

     所有可以"排序"的類都實現了java.lang.Comparable介面,Comparable介面中只有一個方法:

     public int compareTo(Object obj), 改方法的傳回值:

     返回0, 表示this == obj

     返回正數, 表示this > obj

     返回負數,表示this < obj

   實現了Comparable介面的類通過實現compareTo方法從而確定該類對象的排序方式。

   注意重寫compareTo(Object o)的時候要先判斷o是不是當前類類型的:不是,就拋出一個異常;是,接著寫判斷邏輯

4.如何選擇資料結構

  衡量標準: 讀的效率和改的效率

  Array讀快改慢,集合佔用一塊連續的記憶體

  Linked改快讀慢, 集合中的元素分散在記憶體中,通過指標相連

  Hash兩者之間

5.Map介面

   實現Map介面的類用來儲存鍵-值對。

   Map介面的實作類別有HashMap(以Hash表作為索引)和TreeMap(以Tree作為索引)等。

   Map類中儲存的鍵-值對通過鍵來標識,所以鍵的值不能重複。

    常用方法:

    Object  put(Object key, Object value), 往容器裡添加索引值對,如果key已經存在,則將key對應的value的值設定為新value,返                      回值是原來的value。

    Object  get(Object key), 找到key對應的value,找不到,則返回 null

    Object  remove(Object key),  如果存在一個鍵的映射關係,則將其從此映射中移除(可選操作)。

    boolean containsKey(Object key), 如果此映射包含指定鍵的映射關係,則返回 true。

   boolean containsValue(Object value), 如果此映射將一個或多個鍵映射到指定值,則返回 true。

     int size(), 返回此映射中的鍵-值對應關係數。

     boolean isEmpty(), 如果此映射未包含鍵-值對應關係,則返回 true。

     void putAll(Map m), 從指定映射中將所有映射關係複製到此映射中(可選操作)。

     void clear(), 從此映射中移除所有映射關係(可選操作)。

6. 自動裝箱拆箱

    自動將基礎類型轉換為對象

    自動將對象轉換為基礎類型

 

Java學習筆記--集合

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.