天天看點

中軟Java學習第八天筆記之Set

java.util 接口 Collection<E>

      集合,可能有序、可能無序;

            可能資料唯一,也可能資料不唯一;

java.util 接口 List<E>   :   父接口是Collection

           有序集合  (資料可能唯一、可能不唯一)          

           使用場景舉例: 從資料庫中提取資料,并展示

java.util 接口 Set<E>   :  父接口是Collection

         個不包含重複元素的 collection          -------- 每個元素是唯一的

                                                ---------可能有序、可能無序

                                                ----------最多包含一個 null 元素

         使用場景舉例:如果在業務上需要保證資料的唯一性,這時候用Set

                       網上書城-->>購物車  

java.util 接口 Queue<E>  

         在處理元素前用于儲存元素的 collection

         隊列通常(但并非一定)以 FIFO(先進先出)的方式排序各個元素

          E peek()     擷取但不移除此隊列的頭;如果此隊列為空,則傳回 null

          E poll()     擷取并移除此隊列的頭,如果此隊列為空,則傳回 null

          boolean offer(E e)       将指定的元素插入此隊列

java.util 類 HashSet<E   :  Set接口的實作類                                                    ------- 無序、唯一

            底層實作的資料結構是哈希表、或稱為哈希散列

            哈希表的資料特點是:查找元素和修改元素的性能都比較好

            HashSet的底層資料結構是HashMap

java.util 類 LinkedHashSet<E> :具有可預知疊代順序的 Set 接口的哈希表和連結清單實作             -------有序、唯一

注意: HashSet與HashMap中是否可以使用null     ------最多包含一個 null 元素

       ArrayList、LinkedList中是否可以用空     ---- 可以

java.util 接口 Map<K,V>

java.util 類 HashMap<K,V>