一、單向鏈表 1.單向鏈表:每個元素都稱為節點(Entry),每個節點都由兩部分組成 2.單向鏈表的註意點: (1)單向鏈表每一個節點在記憶體中存儲上在空間位置上是無規律的; (2)為什麼單向鏈表的查詢效率變低?因為單向鏈表中的每個元素在空間的存儲位置上沒有規律,也沒有順序,那麼在查找某個元素的時候 ...
一、單向鏈表
1.單向鏈表:每個元素都稱為節點(Entry),每個節點都由兩部分組成
2.單向鏈表的註意點:
(1)單向鏈表每一個節點在記憶體中存儲上在空間位置上是無規律的;
(2)為什麼單向鏈表的查詢效率變低?因為單向鏈表中的每個元素在空間的存儲位置上沒有規律,也沒有順序,那麼在查找某個元素的時候,必須從頭節點挨著往後找,直到找到為止。
(3)為什麼單向鏈表的增刪效率高?因為鏈表中每個元素存儲空間是沒有順序的,刪除或者添加某個元素,只需要讓指針重新指向即可,不需要將其他元素進行唯一,所以隨機增刪效率高。
(4)偽代碼
public class Linked{ //節點 Entry entry; //內部類 static class Entry{ Object o; Entry next; } }
(5)舉例代碼
package com.bjpowernode.java_learning; /** * 使用java語言用來模擬單向鏈表 * @author lenovo1 * */ public class D83_1_SingleLinkedList { public static void main(String[] args) { } //節點 //Field Entry entry; // Constructor D83_1_SingleLinkedList(){ //只有一個頭節點 entry = new Entry(null,null); } //靜態內部類 static class Entry{ //Field Object data; Entry next; //Constructor Entry(){} Entry(Object data,Entry next){ this.data = data; this.next = next; } } }
二、雙向鏈表
1.雙向鏈表是一個環狀。
2.雙向鏈表的註意點:
與單項鏈表的特點基本一致,查詢效率變低,但是增刪效率高
3.偽代碼
public class LinkedList{ //節點 Entry entry; //靜態內部類 static class Entry{ Entry previous; Object data; Entry next; } }
三、Collections集合的常用方法
1.boolean add(Object element);向集合中添加某個元素
2.void clear();清空集合
3.boolean contains(Object o);判斷集合中是狗包含某個程式
4.boolean isEmpty();判斷集合是否含有元素
5.Iterator<E> iterator();獲取集合所依賴的迭代器對象
6.boolean remove(Object o);刪除集合中某個元素
7.boolean removeAll(Collection<?> c)
移除此collections中那些也包含在指定collections中的所有元素(可選操作)
8.boolean retainAll(Collections<?> c)
僅保留此collectionss中那些也包含在指定collections的元素(可選操作)
9.int size();返回此collections中的元素數
10.Object[] toArray() ;返回包含此collections中的所有元素的數組
11.<T> T[] toArray(T[] a)返回包含此collections中的所有元素的數組,;返回數組的運行是類型與指定數組的運行時類型相同。
五、源碼:
D83_1_SingleLinkedList.java
D83_2_CollectionsCommonMethod.java
https://github.com/ruigege66/Java/blob/master/D83_1_SingleLinkedList.java
https://github.com/ruigege66/Java/blob/master/D83_2_CollectionsCommonMethod.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料。