java之集合框架總結-畢業生必看
集合框架
List、Set、Map的區別
Map和Collection是所有集合的父介面,collecton是List和Set的父介面
List(可儲存重複物件;是一個有序集合,儲存了每一個元素的插入順序)
ArrayList:陣列(查詢快,增刪慢,執行緒不安全)
Vector:陣列(查詢快,增刪慢,執行緒安全,)
LinkedList:連結串列(查詢慢,增刪快,執行緒不安全)
Set(不允許重複物件,只允許一個null元素)
HashSet(無序,唯一):雜湊表
LinkedHashSet:連結串列和雜湊表。連結串列保證元素的排序,雜湊表保證元素的唯一性
TreeSet(有序,唯一):紅黑樹(自平衡的排序二叉樹)
Map(以鍵值對的形式進行資料儲存,鍵不允許重複,允許null作為Map的鍵和值)
HashMap:基於雜湊表的Map介面實現(雜湊表對鍵進行雜湊,Map介面即對映表存 放鍵值對)
LinkedHashMap:在hashMap的基礎上新增了連結串列資料結構
HashTabl:雜湊表
TreeMap:紅黑樹
HashMap和HashTable的區別
HashMap是非執行緒安全,HashTable是執行緒安全的
HashMap比HashTable效率高(HashTable基本被淘汰)
HashMap允許Null作為key,HashTable不允許Null作為Key
HashMap和TreeMap如何選取
插入、刪除和定位元素操作,HashMap是最好的選擇,假如需要對一個有序的Key集合進行遍歷,TreeMap是更好的選擇。
List、Map、Set、什麼時候用?
想讓元素按照插入的次序進行有序儲存,使用List
想要保證元素的唯一性,使用Set
想要使用鍵值對的形式進行資料儲存,使用Map
concurrentHashMap和HashMap的區別
concurrentHashMap對整個桶數進行了分割分段,然後在每個分段上都用了lock鎖進行保護,相對於HashTable的synchronized鎖 的精度更精細了一些,併發效能更好。HashMap沒有鎖機制,不是執行緒安全的
(JDK1.8之後ConcurrentHashMap啟用了一種全新的方式實現,利用CAS演算法)
HashMap的鍵值對允許有Null,但是ConCurrentHashMap都不允許
Collection 和 Collections的區別。
Collection是集合類的父介面,繼承與他的介面主要有Set和List.
Collections是針對集合類的一個幫助類,他提供一系列靜態方法實現對各種集合 的搜尋、排序、執行緒安全化等操作。
comparable 和 comparator的區別?
comparable介面實際上是出自java.lang包 它有一個 compareTo(Object obj)方法用來排 序
comparator介面實際上是出自 java.util 包它有一個compare(Object obj1, Object obj2)方 法用
相關文章
- java集合框架基礎總結Java框架
- Java集合框架使用總結薦Java框架
- java面試題-大學畢業必看Java面試題
- 集合框架-集合總結框架
- 集合框架-Collection集合總結框架
- Java集合(5)之 List 總結Java
- Java集合總結:Java
- 【Java集合系列】---總體框架Java框架
- Java集合系列-總體框架Java框架
- Java 集合框架體系總覽Java框架
- 常用Java集合類總結Java
- java集合物件排序總結Java物件排序
- Java集合學習總結Java
- Java Collection、Map集合總結Java
- Java集合 - 集合知識點總結概述Java
- 面試必備 之 Java 集合框架面試Java框架
- Java集合框架之 Java HashMap 原始碼解析Java框架HashMap原始碼
- 【集合框架】Java集合框架綜述框架Java
- Java集合類學習總結Java
- java集合面試重點總結Java面試
- Java核心技術點之集合框架Java框架
- Java 集合框架Java框架
- java集合框架Java框架
- Java集合(1)一 集合框架Java框架
- Java基礎集合簡單總結Java
- 總結的Java知識點集合Java
- 【Java集合原始碼剖析】Java集合框架Java原始碼框架
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- 0、Java集合體繫結構—最全總結Java
- Java常見知識點彙總(⑦)——集合框架Java框架
- Android基礎之Java集合框架CollectionAndroidJava框架
- Java 集合(1)之 總體架構Java架構
- 一個剛畢業前端的年度總結前端
- 集合總結
- Java集合框架系列教程一:集合框架簡介Java框架
- java基礎使用的集合大總結Java
- 死磕 java集合之終結篇Java
- java之集合框架使用細節及常用方法Java框架