Java鏈表(Linked List)基本原理與實現(xiàn)方法入門示例
本文實例講述了Java鏈表(Linked List)基本原理與實現(xiàn)方法。分享給大家供大家參考,具體如下:
在分析鏈表之前,我們先來對之前的動態(tài)數(shù)組、棧、隊列總結一下:
(1)底層依托于靜態(tài)數(shù)組
(2)依靠resize解決固定容量問題

(3)是一種假的的動態(tài)數(shù)據(jù)結構
1.什么是鏈表
可以從以下兩個部分來理解什么是鏈表
(1)最簡單的動態(tài)數(shù)據(jù)結構,是一種真正的動態(tài)數(shù)據(jù)結構;
(2)是一種數(shù)據(jù)的存儲方式,數(shù)據(jù)存儲在"節(jié)點"(Node)中
1.1結構基本代碼:
class Node{
E e;
Node next;
}
1.2 圖示如下:

1.3 優(yōu)點、缺點
優(yōu)點:真正的動態(tài),不需要處理固定容量的問題
缺點:喪失了隨機訪問的能力,也就是不能通過索引進行訪問,只能next來進行查找
1.4數(shù)組與鏈表的對比

1.5 基本的鏈表節(jié)點結構代碼:
新建一個package(LinkedList),然后新建一個類LinkedList,在該類中封裝一個私有的節(jié)點,便于后續(xù)對于節(jié)點的使用。
package LinkedList;
public class LinkedList<E> {
//將Node節(jié)點設計成私有的類中類
private class Node<E> {
public E e;
public Node next;
//兩個參數(shù)的構造函數(shù)
public Node(E e, Node next) {
this.e = e;
this.next = next;
}
//一個參數(shù)的構造函數(shù)
public Node(E e) {
this.e = e;
this.next = null;
}
//無參構造函數(shù)
public Node() {
this(null, null);
}
@Override
public String toString() {
return e.toString();
}
}
}
在本小節(jié)中先是簡單了解了一下理論知識,然后把基本的鏈表節(jié)點結構使用代碼來實現(xiàn),下一小節(jié)我們繼續(xù)來學習如何如何在鏈表中添加元素。
更多關于java算法相關內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
Spring context:component-scan的使用及說明
這篇文章主要介紹了Spring context:component-scan的使用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
Maven中Junit測試@Test等注解無法識別的問題及解決
這篇文章主要介紹了Maven中Junit測試@Test等注解無法識別的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11

