亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

java中的集合有哪些

發布時間:2020-06-28 11:35:01 來源:億速云 閱讀:185 作者:Leah 欄目:編程語言

java中的集合有哪些?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Java API中所用的集合類,都是實現了Collection接口,他的一個類繼承結構如下:

Collection<–List<–Vector

Collection<–List<–ArrayList

Collection<–List<–LinkedList

Collection<–Set<–HashSet

Collection<–Set<–HashSet<–LinkedHashSet

Collection<–Set<–SortedSet<–TreeSet

java中的集合有哪些

Vector

1) 底層數據結構是數組,查詢快,增刪慢

2)線程安全,效率低

基于Array的List,其實就是封裝了Array所不具備的一些功能方便我們使用,它不可能走入Array的限制。性能也就不可能超越Array。所以,在可能的情況下,我們要多運用Array。另外很重要的一點就是Vector“sychronized”的,這個也是Vector和ArrayList的唯一的區別。

ArrayList

1).底層數據結構是數組,查找快,增刪慢。

2). 線程不安全,效率高

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

LinkedList

1) 底層數據結構是鏈表,查詢慢,增刪快

2)線程不安全,效率高

LinkedList不同于前面兩種List,它不是基于Array的,所以不受Array性能的限制。它每一個節點(Node)都包含兩方面的內容:

1. 節點本身的數據(data);

2. 下一個節點的信息(nextNode)。所以當對LinkedList做添加,刪除動作的時候就不用像基于Array的List一樣,必須進行大量的數據移動。只要更改nextNode的相關信息就可以實現了。這就是LinkedList的優勢。

Hashset集合:

1) 底層數據結構是哈希表,哈希表依賴兩個方法hascode ()和equals()方法

2)兩個方法的執行順序:

首先判斷hascode()值是否相同

是:繼續執行equals()方法,看其返回值

是true:說明元素重復,不添加

是false:就直接添加元素

否:就直接添加到集合

Treeset集合:

1)底層數據結構是二叉樹

總結:

1. 所有的List中只能容納單個不同類型的對象組成的表,而不是Key-Value鍵值對。例如:[ tom,1,c ];

2. 所有的List中可以有相同的元素,例如Vector中可以有 [ tom,koo,too,koo ];

3. 所有的List中可以有null元素,例如[ tom,null,1 ];

4. 基于Array的List(Vector,ArrayList)適合查詢,而LinkedList(鏈表)適合添加,刪除操作。

HashSet:雖然Set同List都實現了Collection接口,但是他們的實現方式卻大不一樣。List基本上都是以Array為基礎。但是Set則是在HashMap的基礎上來實現的,這個就是Set和List的根本區別。HashSet的存儲方式是把HashMap中的Key作為Set的對應存儲項。

關于java中的集合有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

平邑县| 沁阳市| 神农架林区| 沧源| 和硕县| 易门县| 山东省| 漳平市| 德安县| 浑源县| 平武县| 沛县| 永平县| 龙江县| 平乐县| 富平县| 绥芬河市| 梓潼县| 股票| 太原市| 辉南县| 抚州市| 建阳市| 庐江县| 白城市| 巴林右旗| 江都市| 进贤县| 孙吴县| 辽中县| 广宗县| 景洪市| 平顶山市| 陈巴尔虎旗| 肃宁县| 亳州市| 任丘市| 双流县| 灵璧县| 农安县| 谢通门县|