91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java常見知識點匯總(⑦)——集合框架

發布時間:2020-08-08 18:37:44 來源:ITPUB博客 閱讀:148 作者:無敵天驕 欄目:軟件技術

Java常見知識點匯總(⑦)——集合框架

一. Collection和Collections的區別

Collection是集合繼承結構中的頂層接口(interface),其是Iterable的子類。

Collections 是提供了對集合進行操作的強大方法的工具類 ,它包含有各種有關集合操作的靜態多態方法。此類不能實例化(其構造函數是private的,該類中的方法都是static的可以直接調用)

二. Collection

ArrayList:線程不同步。默認初始容量為10,當數組大小不足時增長率為當前長度的50%。

Vector:線程同步。默認初始容量為10,當數組大小不足時增長率為當前長度的100%。它的同步是通過Iterator方法加synchronized實現的。

LinkedList:線程不同步。雙端隊列形式。

Stack:線程同步。繼承自Vector,添加了幾個方法來完成棧的功能。

Set:Set是一種不包含重復元素的Collection,Set最多只有一個null元素。

HashSet:線程不同步,內部使用HashMap進行數據存儲,提供的方法基本都是調用HashMap的方法,所以兩者本質是一樣的。集合元素可以為NULL。

NavigableSet:添加了搜索功能,可以對給定元素進行搜索:小于、小于等于、大于、大于等于,放回一個符合條件的最接近給定元素的 key。

TreeSet:線程不同步,內部使用NavigableMap操作。默認元素“自然順序”排列,可以通過Comparator改變排序。

EnumSet:線程不同步。內部使用Enum數組實現,速度比HashSet快。只能存儲在構造函數傳入的枚舉類的枚舉值。

三. Map

HashMap:線程不同步。根據key的hashcode進行存儲,內部使用靜態內部類Node的數組進行存儲,默認初始大小為16,每次擴大一倍。當發生Hash沖突時,采用拉鏈法(鏈表)。可以接受為null的鍵值(key)和值(value)。JDK 1.8中:當單個桶中元素個數大于等于8時,鏈表實現改為紅黑樹實現;當元素個數小于6時,變回鏈表實現。由此來防止hashCode攻擊。

LinkedHashMap:保存了記錄的插入順序,在用Iterator遍歷LinkedHashMap時,先得到的記錄肯定是先插入的. 也可以在構造時用帶參數,按照應用次數排序。在遍歷的時候會比HashMap慢,不過有種情況例外,當HashMap容量很大,實際數據較少時,遍歷起來可能會比LinkedHashMap慢,因為LinkedHashMap的遍歷速度只和實際數據有關,和容量無關,而HashMap的遍歷速度和他的容量有關。

TreeMap:線程不同步,基于 紅黑樹 (Red-Black tree)的NavigableMap 實現,能夠把它保存的記錄根據鍵排序,默認是按鍵值的升序排序,也可以指定排序的比較器,當用Iterator 遍歷TreeMap時,得到的記錄是排過序的。

HashTable:線程安全,HashMap的迭代器(Iterator)是fail-fast迭代器。HashTable不能存儲NULL的key和value。

四. 工具類

Collections、Arrays:集合類的一個工具類/幫助類,其中提供了一系列靜態方法,用于對集合中元素進行排序、搜索以及線程安全等各種操作。

Comparable,Comparator:一般是用于對象的比較來實現排序,兩者略有區別。

  • 類設計者沒有考慮到比較問題而沒有實現Comparable接口。這是我們就可以通過使用Comparator,這種情況下,我們是不需要改變對象的。
  • 一個集合中,我們可能需要有多重的排序標準,這時候如果使用Comparable就有些捉襟見肘了,可以自己繼承Comparator提供多種標準的比較器進行排序。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

井研县| 濉溪县| 合阳县| 固阳县| 辽宁省| 郎溪县| 本溪市| 榆树市| 灵宝市| 临颍县| 建昌县| 通渭县| 乐业县| 三明市| 台中县| 成武县| 伊金霍洛旗| 上思县| 奉化市| 九龙县| 阿拉善盟| 龙山县| 左贡县| 包头市| 姜堰市| 筠连县| 墨竹工卡县| 泰顺县| 威宁| 仙居县| 金坛市| 肥西县| 将乐县| 富阳市| 临漳县| 台东市| 韶关市| 胶州市| 土默特右旗| 洛浦县| 浦江县|