摘要:類繼承樹由繼承樹看出,三者都是的間接實現(xiàn)類。實現(xiàn)接口,繼承于,實現(xiàn)與接口。頻繁的插入刪除操作頻繁的隨機訪問操作未知的初始數(shù)據(jù)量
???????這段時間把瘋狂JAVA再看了一遍,發(fā)現(xiàn)Stack,ArrayDeque,LinkedList都可以作為棧使用,所以就稍微從性能以及實現(xiàn)的細節(jié)對比這三者的區(qū)別。
類繼承樹
???????由繼承樹看出,三者都是Collection的間接實現(xiàn)類。
???????ArrayDeque實現(xiàn)Deque接口,Stack繼承于Vector,LinkedList實現(xiàn)Deque與List接口。
? | 存儲方式 |
---|---|
Stack | 長度為10的數(shù)組 |
ArrayDeque | 長度為16的數(shù)組 |
LinkedList | 鏈表 |
Stack | ArrayDeque | LinkedList |
---|---|---|
push(e) | addFirst(e)/offerFirst(e) | addFirst(e)/offerFirst(e) |
pop() | removeFirst()/pollFirst() | removeFirst()/pollFirst() |
peek() | getFirst()/peekFirst() | getFirst()/peekFirst() |
? | 線程安全 |
---|---|
Stack | 線程同步 |
ArrayDeque | 線程不同步 |
LinkedList | 線程不同步 |
?????通常情況下,不推薦使用Vector以及其子類Stack
1.需要線程同步????使用Collections工具類中synchronizedXxx()將線程不同步的ArrayDeque以及LinkedList轉換成線程同步。
2.頻繁的插入、刪除操作:LinkedList 3.頻繁的隨機訪問操作:ArrayDeque 4.未知的初始數(shù)據(jù)量:LinkedList文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/74410.html
摘要:會死循環(huán),因為棧內不會彈出所以判斷會一直執(zhí)行。集合用于模擬隊列這種數(shù)據(jù)結構,隊列通常是指先進先出的容器。集合不僅提供了的功能,還提供了雙端隊列,棧的功能。如果有多個線程需要訪問集合中的元素,需要考慮使用將幾個包裝成線程安全集合。 List判斷兩個對象相等只通過equals方法比較返回true即可。 public class A { @Override public ...
摘要:除此之外,還有一個接口,代表一個雙端隊列,雙端隊列可以同時從兩端刪除添加元素,因此的實現(xiàn)類既可當成隊列使用,也可當成棧使用。相當于棧方法將一個元素進該雙端隊列所表示的棧的棧頂。 Queue用于模擬隊列這種數(shù)據(jù)結構,隊列通常是指先進先出(FIFO)的容器。隊列的頭部保存在隊列中存放時間最長的元素,隊列的尾部保存在隊列中存放時間最短的元素。新元素插入(offer)到隊列的尾部,訪問元素(p...
摘要:最小初始化容量。它作為堆棧隊列雙端隊列的操作和的操作是一致的,只是內部的實現(xiàn)不同。根據(jù)元素內容查找和刪除的效率比較低,為。但是接口有對應的并發(fā)實現(xiàn)類類。 Queue接口的實現(xiàn)類 Queue接口作為隊列數(shù)據(jù)結構,java在實現(xiàn)的時候,直接定義了Deque接口(雙端隊列)來繼承Queue接口,并且只實現(xiàn)Deque接口。這樣java中的雙端隊列就囊括了隊列、雙端隊列、堆棧(Deque接口又定...
摘要:棧隊列雙端隊列都是非常經(jīng)典的數(shù)據(jù)結構。結合了棧和隊列的特點。因此,在中,有棧的使用需求時,使用代替。迭代器之前源碼源碼之與字段中分析過,容器的實現(xiàn)中,所有修改過容器結構的操作都需要修改字段。 棧、隊列、雙端隊列都是非常經(jīng)典的數(shù)據(jù)結構。和鏈表、數(shù)組不同,這三種數(shù)據(jù)結構的抽象層次更高。它只描述了數(shù)據(jù)結構有哪些行為,而并不關心數(shù)據(jù)結構內部用何種思路、方式去組織。本篇博文重點關注這三種數(shù)據(jù)結構...
閱讀 2466·2021-10-09 09:44
閱讀 2204·2021-10-08 10:05
閱讀 3481·2021-07-26 23:38
閱讀 3083·2019-08-28 18:16
閱讀 877·2019-08-26 11:55
閱讀 1894·2019-08-23 18:29
閱讀 2116·2019-08-23 18:05
閱讀 1406·2019-08-23 17:02