Java链表(Linked List)基本原理与实现方法入门示例

作者:WFaceBoss 时间:2021-10-12 05:49:14 

本文实例讲述了Java链表(Linked List)基本原理与实现方法。分享给大家供大家参考,具体如下:

在分析链表之前,我们先来对之前的动态数组、栈、队列总结一下:

(1)底层依托于静态数组

(2)依靠resize解决固定容量问题

Java链表(Linked List)基本原理与实现方法入门示例

(3)是一种假的的动态数据结构

1.什么是链表

可以从以下两个部分来理解什么是链表

(1)最简单的动态数据结构,是一种真正的动态数据结构;

(2)是一种数据的存储方式,数据存储在"节点"(Node)中

1.1结构基本代码:


class Node{
E e;
Node next;
}

1.2 图示如下:

Java链表(Linked List)基本原理与实现方法入门示例

1.3 优点、缺点

优点:真正的动态,不需要处理固定容量的问题

缺点:丧失了随机访问的能力,也就是不能通过索引进行访问,只能next来进行查找

1.4数组与链表的对比

Java链表(Linked List)基本原理与实现方法入门示例

 1.5 基本的链表节点结构代码:

新建一个package(LinkedList),然后新建一个类LinkedList,在该类中封装一个私有的节点,便于后续对于节点的使用。


package LinkedList;

public class LinkedList<E> {
 //将Node节点设计成私有的类中类
 private class Node<E> {
   public E e;
   public Node next;

//两个参数的构造函数
   public Node(E e, Node next) {
     this.e = e;
     this.next = next;
   }

//一个参数的构造函数
   public Node(E e) {
     this.e = e;
     this.next = null;
   }

//无参构造函数
   public Node() {
     this(null, null);
   }

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

在本小节中先是简单了解了一下理论知识,然后把基本的链表节点结构使用代码来实现,下一小节我们继续来学习如何如何在链表中添加元素。

希望本文所述对大家java程序设计有所帮助。

来源:https://www.cnblogs.com/wfaceboss/p/10631649.html

标签:Java,链表,Linked,List
0
投稿

猜你喜欢

  • Java接口中尽量避免使用数组

    2022-07-06 23:24:14
  • Reactor 多任务并发执行且结果按顺序返回第一个

    2021-08-15 03:32:46
  • Android App实现应用内部自动更新的最基本方法示例

    2022-11-02 02:49:46
  • Spring Cloud 覆写远端的配置属性实例详解

    2022-09-10 22:06:23
  • Seata AT模式如何实现行锁详解

    2022-11-18 23:43:34
  • 详解Android封装一个全局的BaseActivity

    2022-09-16 07:05:23
  • Java cookie和session会话技术介绍

    2021-12-30 06:51:22
  • Java使用synchronized实现互斥锁功能示例

    2022-10-20 00:47:49
  • SpringBoot @ConfigurationProperties注解的简单使用

    2021-09-03 12:21:57
  • Android中ContextMenu用法实例

    2023-02-12 20:09:49
  • Android利用SAX对XML进行增删改查操作详解

    2023-02-05 00:03:32
  • C#嵌套类的访问方法

    2021-07-26 18:03:20
  • Springboot+SpringSecurity+JWT实现用户登录和权限认证示例

    2021-11-14 11:06:11
  • SpringBoot异步调用方法并接收返回值

    2023-08-16 22:33:49
  • c# 以二进制读取文本文件

    2023-02-28 15:23:26
  • C#设置输入法实例分析

    2022-07-07 14:30:05
  • Android身份证号有效性校验工具类案例

    2022-02-02 21:07:01
  • java 读写文件[多种方法]

    2022-10-04 09:09:00
  • c#预处理指令分析

    2021-07-23 10:35:00
  • 详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)

    2022-09-20 04:41:04
  • asp之家 软件编程 m.aspxhome.com