鍊錶LinkedList

2022-09-11 20:27:10 字數 1736 閱讀 1651

鍊錶是一種資料的儲存方式,儲存的資料在記憶體中,資料為不連續的,用指針對資料進行訪問。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...