欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java鏈表(Linked List)基本原理與實現(xiàn)方法入門示例

 更新時間:2020年03月17日 10:11:23   作者:WFaceBoss  
這篇文章主要介紹了Java鏈表(Linked List)基本原理與實現(xiàn)方法,結(jié)合實例形式分析了Java鏈表(Linked List)的功能、原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下

本文實例講述了Java鏈表(Linked List)基本原理與實現(xiàn)方法。分享給大家供大家參考,具體如下:

在分析鏈表之前,我們先來對之前的動態(tài)數(shù)組、棧、隊列總結(jié)一下:

(1)底層依托于靜態(tài)數(shù)組

(2)依靠resize解決固定容量問題

(3)是一種假的的動態(tài)數(shù)據(jù)結(jié)構(gòu)

1.什么是鏈表

可以從以下兩個部分來理解什么是鏈表

(1)最簡單的動態(tài)數(shù)據(jù)結(jié)構(gòu),是一種真正的動態(tài)數(shù)據(jù)結(jié)構(gòu);

(2)是一種數(shù)據(jù)的存儲方式,數(shù)據(jù)存儲在"節(jié)點"(Node)中

1.1結(jié)構(gòu)基本代碼:

class Node{
 E e;
 Node next;
}

1.2 圖示如下:

1.3 優(yōu)點、缺點

優(yōu)點:真正的動態(tài),不需要處理固定容量的問題

缺點:喪失了隨機訪問的能力,也就是不能通過索引進(jìn)行訪問,只能next來進(jìn)行查找

1.4數(shù)組與鏈表的對比

 1.5 基本的鏈表節(jié)點結(jié)構(gòu)代碼:

新建一個package(LinkedList),然后新建一個類LinkedList,在該類中封裝一個私有的節(jié)點,便于后續(xù)對于節(jié)點的使用。

package LinkedList;

public class LinkedList<E> {
  //將Node節(jié)點設(shè)計成私有的類中類
  private class Node<E> {
    public E e;
    public Node next;

    //兩個參數(shù)的構(gòu)造函數(shù)
    public Node(E e, Node next) {
      this.e = e;
      this.next = next;
    }

    //一個參數(shù)的構(gòu)造函數(shù)
    public Node(E e) {
      this.e = e;
      this.next = null;
    }

    //無參構(gòu)造函數(shù)
    public Node() {
      this(null, null);
    }

    @Override
    public String toString() {
      return e.toString();
    }
  }
}

在本小節(jié)中先是簡單了解了一下理論知識,然后把基本的鏈表節(jié)點結(jié)構(gòu)使用代碼來實現(xiàn),下一小節(jié)我們繼續(xù)來學(xué)習(xí)如何如何在鏈表中添加元素。

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • mybatis快速上手并運行程序

    mybatis快速上手并運行程序

    MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO為數(shù)據(jù)庫中的記錄
    2022-01-01
  • SpringBoot 整合jdbc和mybatis的方法

    SpringBoot 整合jdbc和mybatis的方法

    該文章主要為記錄如何在SpringBoot項目中整合JDBC和MyBatis,在整合中我會使用簡單的用法和測試用例,感興趣的朋友跟隨小編一起看看吧
    2019-11-11
  • Spring自動掃描無法掃描jar包中bean的解決方法

    Spring自動掃描無法掃描jar包中bean的解決方法

    在日常開發(fā)中往往會對公共的模塊打包發(fā)布,然后調(diào)用公共包的內(nèi)容。然而,最近對公司的公共模塊進(jìn)行整理發(fā)布后。spring卻無法掃描到相應(yīng)的bean,下面這篇文章主要給大家介紹了關(guān)于Spring自動掃描時無法掃描jar包中bean的解決方法,需要的朋友可以參考下。
    2017-06-06
  • SpringBoot解析yml全流程詳解

    SpringBoot解析yml全流程詳解

    本文主要介紹了SpringBoot解析yml全流程詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 使用Feign傳遞請求頭信息(Finchley版本)

    使用Feign傳遞請求頭信息(Finchley版本)

    這篇文章主要介紹了使用Feign傳遞請求頭信息(Finchley版本),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 玩轉(zhuǎn)SpringBoot中的那些連接池(小結(jié))

    玩轉(zhuǎn)SpringBoot中的那些連接池(小結(jié))

    這篇文章主要介紹了玩轉(zhuǎn)SpringBoot中的那些連接池(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Security中的WebSecurityConfigurerAdapter詳解

    Security中的WebSecurityConfigurerAdapter詳解

    這篇文章主要介紹了Security中的WebSecurityConfigurerAdapter詳解,今天我們要進(jìn)一步的的學(xué)習(xí)如何自定義配置Spring?Security,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • 深入探討Java?SPI機制及其應(yīng)用場景

    深入探討Java?SPI機制及其應(yīng)用場景

    本文深入介紹了Java?SPI機制的原理和實現(xiàn)方式,以及在Java中如何使用SPI實現(xiàn)可插拔的組件化架構(gòu),包括示例代碼和應(yīng)用場景分析,幫助讀者更好地理解和應(yīng)用該機制
    2023-04-04
  • Quartz定時任務(wù)管理方式(動態(tài)添加、停止、恢復(fù)、刪除定時任務(wù))

    Quartz定時任務(wù)管理方式(動態(tài)添加、停止、恢復(fù)、刪除定時任務(wù))

    這篇文章主要介紹了Quartz定時任務(wù)管理方式(動態(tài)添加、停止、恢復(fù)、刪除定時任務(wù)),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Mybatis延遲加載原理和延遲加載配置詳解

    Mybatis延遲加載原理和延遲加載配置詳解

    這篇文章主要介紹了Mybatis延遲加載原理和延遲加載配置詳解,MyBatis中的延遲加載,也稱為懶加載,是指在進(jìn)行表的關(guān)聯(lián)查詢時,按照設(shè)置延遲規(guī)則推遲對關(guān)聯(lián)對象的select查詢,需要的朋友可以參考下
    2023-10-10

最新評論