1. 程式人生 > >java的基礎資料結構簡介

java的基礎資料結構簡介

java資料結構簡介

   資料結構是計算機儲存,組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。
   java中常用的資料結構基本上就是Array陣列和Collection以及Map集合,下面我們主要介紹一下Collection以及Map集合的相關資訊。

Collection集合

  1.集合(collection)有時又稱為容器,簡單地說,它是一個物件,能將具有相同性質的多個元素匯聚成一個整體
集合被用於儲存、獲取、操縱和傳輸聚合的資料。

  2.集合框架(Collections Framework)是用來表現和操縱集合的一個統一的體系結構。所有的集合框架都包含以下內容:
  (1)介面:是代表集合的抽象資料型別。
  (2)實現:是集合介面的具體實現。本質上,它們是可重用的資料結構,是一些類。
  (3)演算法:是在實現了集合介面的物件上執行有用的計算的方法,如查詢和排序。
  
  3.子介面:List和Set介面

Map集合

  1.Map是一種包含鍵值對的元素的集合。
  
  2.Map不能包含重複的鍵,每個鍵最多可對映到一個值
  
  3.Map介面基本實現類:HashMap、TreeMap、 Hashtable

List介面

  1.List介面常用的實現類:ArrayList、LinkedList、Vector
  
  2.ArrayList:集合中一種動態的陣列,增刪元素可改變該陣列的長度,未實現同步,執行緒不安全,操作效率高,多用於查詢;
  
  3.Vector:稱為向量,也是特殊的動態陣列,增刪元素可改變該陣列的長度,實現了同步,執行緒安全,操作效率低,多用於查詢;
  
  4.LinkedList:基於雙向連結串列的資料結構,移動指標遍歷,順序訪問(增刪)會非常高效,而隨機訪問(查詢)效率比較低,未實現同步,執行緒不安全,操作效率低,多用於插入和刪除

Set介面

  1.Set介面常用的實現類:HashSet、TreeSet
  
  2.HashSet:實現了Set介面,沒有重複元素,無序,底層使用Map介面的HashMap 的 key 集合作為容器儲存資料物件,未實現同步,執行緒不安全,操作效率高,多用於查詢;
  
  3.TreeSet:實現SortedSet介面,沒有重複元素,有序,不支援快速隨機遍歷,只能通過迭代器進行遍歷,底層使用TreeMap作為儲存資料物件,TreeSet支援兩種排序方式,自然排序 和定製排序,其中自然排序為預設的排序方式。

Map介面

  1.Map介面常用的實現類:HashMap、TreeMap、 Hashtable
  
  2.HashMap:是一個散列表,它儲存的內容是鍵值對(key-value)對映,無序,鍵值不重複,value值可重複,鍵值可為null,未實現同步,執行緒不安全,操作效率高;
  
  3.Hashtable:是一個散列表,它儲存的內容是鍵值對(key-value)對映,無序,鍵值不重複,value可重複,鍵值不可為null,實現同步,執行緒安全,操作效率低

  4.TreeMap:是一個有序的key-value集合,它是通過紅黑樹實現的,能被克隆,支援序列化,有序,不可重複,未實現同步,執行緒不安全,操作效率低

總結

  好了,以上就是對java的基礎資料結構以及重用的資料結構型別的簡介,有興趣的程式猿可繼續深入探索~~~