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
-
JAVA
+關注
關注
19文章
2976瀏覽量
105211 -
數據結構
+關注
關注
3文章
573瀏覽量
40237
發布評論請先 登錄
相關推薦
數據結構與算法分析(Java版)(pdf)
Java數據結構和算法_計曉云
![<b class='flag-5'>Java</b><b class='flag-5'>數據結構</b>和算法_計曉云](https://file.elecfans.com/web2/M00/49/20/pYYBAGKhtDqABlTtAAAP-PwYxZ0110.jpg)
數據結構是什么_數據結構有什么用
![<b class='flag-5'>數據結構</b>是什么_<b class='flag-5'>數據結構</b><b class='flag-5'>有</b>什么用](https://file1.elecfans.com//web2/M00/A6/EA/wKgZomUMQTmAITjkAAARDaPRhyE645.jpg)
java數據結構學習
java中幾種常用數據結構
![<b class='flag-5'>java</b>中幾種常用<b class='flag-5'>數據結構</b>](https://file.elecfans.com/web1/M00/45/EA/o4YBAFp8Bo2AfkiyAAHDtBwE3BA943.png)
什么是數據結構?為什么要學習數據結構?數據結構的應用實例分析
![什么是<b class='flag-5'>數據結構</b>?為什么要學習<b class='flag-5'>數據結構</b>?<b class='flag-5'>數據結構</b>的應用實例分析](https://file.elecfans.com/web1/M00/65/7A/o4YBAFurOTuAdCq3AABVU-eOQhY072.png)
評論