當前位置:成語大全網 - 新華字典 - JAVA數據結構有哪幾種

JAVA數據結構有哪幾種

JAVA數據結構有以下幾種:

1、List:

List是有序的Collection,使用此接口能夠精確的控制每個元素插入的位置。用戶能夠使用索引(元素在List中的位置,類似於數組下 >標)來訪問List中的元素,這類似於Java的數組。

2、Vector:

基於數組(Array)的List,其實就是封裝了數組所不具備的壹些功能方便我們使用,所以它難易避免數組的限制,同時性能也不可能超越數組。

另外很重要的壹點就是Vector是線程同步的(sychronized)的,這也是Vector和ArrayList 的壹個的重要區別。?

3、ArrayList:

同Vector壹樣是壹個基於數組上的鏈表,但是不同的是ArrayList不是同步的。所以在性能上要比Vector好壹些,但是當運行到多線程環境中時,可需要自己在管理線程的同步問題。

4、LinkedList:

LinkedList不同於前面兩種List,它不是基於數組的,所以不受數組性能的限制。 它每壹個節點(Node)都包含兩方面的內容:節點本身的數據(data),下壹個節點的信息(nextNode)。?

所以當對LinkedList做添加,刪除動作的時候就不用像基於數組的ArrayList壹樣,必須進行大量的數據移動。只要更改nextNode的相關信息就可以實現了,這是LinkedList的優勢。

5、HashSet:

雖然Set同List都實現了Collection接口,但是他們的實現方式卻大不壹樣。List基本上都是以Array為基礎。

但是Set則是在 HashMap的基礎上來實現的,這就是Set和List的根本區別。HashSet的存儲方式是把HashMap中的Key作為Set的對應存儲項。

6、HashMap:

基於哈希表的 Map 接口的實現。此實現提供所有可選的映射操作,並允許使用 null 值和 null 鍵。(除了不同步和允許使用 null 之外,HashMap 類與 Hashtable 大致相同。)此類不保證映射的順序,特別是它不保證該順序恒久不變。

7、HashTable:

Hashtable 是壹個散列表,它存儲的內容是鍵值對(key-value)映射。Hashtable 繼承於Dictionary,實現了Map、Cloneable、java.io.Serializable接口。

Hashtable 的函數都是同步的,這意味著它是線程安全的。它的key、value都不可以為nul