鍊錶是一種資料的儲存方式,儲存的資料在記憶體中,資料為不連續的,用指針對資料進行訪問。linkedlist是乙個常用的集合類,用於順序儲存元素。
public class linkedlist
extends abstractsequentiallist
implements list, deque, cloneable, j**a.io.serializable
1 linkedlist 是乙個繼承於abstractsequentiallist的雙向鍊錶。它也可以被當作堆疊、佇列或雙向佇列進行操作。該類呼叫listiterator實現了元素的增刪改查,在linkedlist被重寫。
2 linkedlist 實現 list 介面,能對它進行佇列操作。
3 linkedlist 實現 deque 介面,即能將linkedlist當作雙向佇列使用。
4 linkedlist 實現了cloneable 介面,即覆蓋了函式clone(),能轉殖。
5 linkedlist 實現j**a.io.serializable介面,這意味著linkedlist支援序列化,能通過序列化去網路傳輸。
可以看到,單向鍊錶,通過尾巴指向下乙個物件,沒有下乙個物件則尾巴為null。
示例:package j**ase.base;
import j**a.util.iterator;
import j**a.util.linkedlist;
public class testlinkedlist
//系統回車linux系統\r\n,windows系統 \n,下面根據系統環境就消除了作業系統之間的差異
system.out.println(system.lineseparator() + "==for 物件迴圈遍歷:");
for(string n : frames)
frames.addfirst("三大框架"); //鍊錶頭部插入新元素
frames.addlast("微服務"); //鍊錶尾部插入新元素
system.out.println(system.lineseparator() + "==for 物件迴圈遍歷:");
for(string n : frames)
frames.removefirst();
frames.removelast();
system.out.println(system.lineseparator() + "==for 物件迴圈遍歷:");
for(string n : frames) }}
執行結果:
獲取第乙個元素:springmvc 表示層框架
獲取最後乙個元素:mybatis 持久層框架
==iterator 迭代器:
springmvc 表示層框架
spring 業務層框架
mybatis 持久層框架
==for 物件迴圈遍歷:
springmvc 表示層框架
spring 業務層框架
mybatis 持久層框架
單向鍊錶遍歷資料只能從頭到尾順序遍歷。單向列表值有「資料+後序指標「,而雙向列表「前序指標+資料+後序指標」,這樣結構更加靈活,同時可以從後面往前遍歷。
LinkedList 鍊錶
線性表是一種簡單的資料結構,其主要特點是元素之間存在 一對一 的關係,除去第乙個元素,每個元素都存在唯一乙個 前驅節點 除去最後乙個元素都存在唯一乙個 後繼節點 簡單的線性表有 陣列 單鏈表 雙向鍊錶 靜態鍊錶等。順序表 陣列 優缺點 陣列不僅邏輯上,物理上位置也相鄰,可隨機訪問,但刪除或插入元素時...
LinkedList 鍊錶
最近複習到鍊錶 linkedlist 一般來說共有大概有兩種實現方式 1.陣列實現 和 2.鏈式實現。我僅使用了直接鏈式實現,如下。其他的實現方式,大家不妨自己嘗試下吧。author ace yom peizhen zhang date 2015 8 17 description 鍊錶實現 ifnd...
鍊錶 LinkedList
原文中singlelinklist的remove方法有問題,因為是 node current firstnode.getnext 所以導致鍊錶的第乙個節點刪不掉。修改如下 public class singlelinklist 刪除某個節點 param element return 刪除成功返回tr...