摘要:什么是是一個雙向連表,實現了接口,該接口中定義了雙向連表的一般操作。也實現了接口,所以包含的基本方法新增,刪除,插入等都實現了。也繼承了該類中定義了順序訪問所需實現的方法。
什么是LinkedList
雙向連表數據結構及相關操作1 LinkedList 是一個 Doubly-linked list雙向連表,實現了Deque接口,該接口中定義了雙向連表的一般操作。
2 LinkedList 也實現了List接口,所以List包含的基本方法(新增,刪除,插入等)LinkedList都實現了。
3 LinkedList 也繼承了AbstractSequentialList該類中定義了順序訪問所需實現的方法。
順序訪問:數據是有序的,訪問也是有序的,獲取元素必須從頭開始遍歷比對,不能直接以數組的方式獲取指定索引位上的值。隨機訪問:隨機訪問可以通過隨機訪問方法直接獲取指定索引位上的值如ArrayList的get(int index), set(int index, E element), add(int index, E element) and remove(int index)等
1.基本結構
雙向連表包含的基本元素包含直接前驅、直接后繼、值域,直接前驅指向前一個節點地址,直接后繼指向后一個節點地址,直接前驅為空時是頭節點,直接后繼為空時是尾節點
2.基本操作(add,remove過程相反)
在雙向連表中插入節點時需要改變插入位置前后兩個節點的直接前驅和直接后繼的指向如圖所示
LinkedList的實現LinkedList 的其他相關內容 1.0 和 ArrayList 相比LinkedList 在內部是通過一個私有的靜態內部類來實現連表的,內部類代碼如下
transient Nodefirst; // 頭節點 transient Node last; // 尾節點 private static class Node { // 存放數據 E item; // 直接后繼 Node next; // 直接前驅 Node prev; Node(Node prev, E element, Node next) { this.item = element; this.next = next; this.prev = prev; } } LinkedList的操作都是圍繞著first last這兩個對象來進行。
雖然兩種數據結構都可以當List來用,但是對于不同的數據操作而言,性能和開銷是不等的。ArrayList 身為Array的實現,優勢體現在隨機訪問上,而LinkedList是通過連表來實現,則其優勢便體現在了刪除和插入操作上。2.0 線程安全問題
LinkedList是線程不安全的實現,若要使用線程安全的LinkedList則需要你通過List list = Collections.synchronizedList(new LinkedList(...))來獲取。3.0 并發修改異常
原理類似ArrayList 參考:ArrayList
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/74355.html
摘要:會死循環,因為棧內不會彈出所以判斷會一直執行。集合用于模擬隊列這種數據結構,隊列通常是指先進先出的容器。集合不僅提供了的功能,還提供了雙端隊列,棧的功能。如果有多個線程需要訪問集合中的元素,需要考慮使用將幾個包裝成線程安全集合。 List判斷兩個對象相等只通過equals方法比較返回true即可。 public class A { @Override public ...
摘要:除此之外,還有一個接口,代表一個雙端隊列,雙端隊列可以同時從兩端刪除添加元素,因此的實現類既可當成隊列使用,也可當成棧使用。相當于棧方法將一個元素進該雙端隊列所表示的棧的棧頂。 Queue用于模擬隊列這種數據結構,隊列通常是指先進先出(FIFO)的容器。隊列的頭部保存在隊列中存放時間最長的元素,隊列的尾部保存在隊列中存放時間最短的元素。新元素插入(offer)到隊列的尾部,訪問元素(p...
摘要:集合中成員很豐富,常用的集合有,,等。實現接口的集合主要有。集合中不能包含重復的元素,每個元素必須是唯一的。而以作為實現的構造函數的訪問權限是默認訪問權限,即包內訪問權限。與接口不同,它是由一系列鍵值對組成的集合,提供了到的映射。 原文地址 Java集合 Java集合框架:是一種工具類,就像是一個容器可以存儲任意數量的具有共同屬性的對象。 Java集合中成員很豐富,常用的集合有Arra...
1_(去除ArrayList中重復字符串元素方式)* A:案例演示 需求:ArrayList去除集合中字符串的重復值(字符串的內容相同) 思路:創建新集合方式 import java.util.ArrayList; import java.util.Iterator; public class ArrayList_1_demo { /* 創建新集合將重復元素去掉 * 1.明...
摘要:集合的種類常見的集合類分如下幾個種類詳解接口是和接口的父接口,也是集合類除外根接口。接口集合中元素的存放特點是元素有序,同一元素可重復。總結中集合是一個非常重要的知識點,在實際運用中也是常常會使用到。 集合的種類 常見的集合類分如下幾個種類: Collection - List - ArrayList - LinkedList - Set - HashSet...
閱讀 3541·2023-04-26 00:16
閱讀 1366·2021-11-25 09:43
閱讀 3833·2021-11-23 09:51
閱讀 2972·2021-09-24 09:55
閱讀 723·2021-09-22 15:45
閱讀 1398·2021-07-30 15:30
閱讀 3071·2019-08-30 14:04
閱讀 2249·2019-08-26 13:46