Java链表(Linked List)基本原理与实现方法入门示例
作者:WFaceBoss 发布时间:2021-10-12 05:49:14
标签:Java,链表,Linked,List
本文实例讲述了Java链表(Linked List)基本原理与实现方法。分享给大家供大家参考,具体如下:
在分析链表之前,我们先来对之前的动态数组、栈、队列总结一下:
(1)底层依托于静态数组
(2)依靠resize解决固定容量问题
(3)是一种假的的动态数据结构
1.什么是链表
可以从以下两个部分来理解什么是链表
(1)最简单的动态数据结构,是一种真正的动态数据结构;
(2)是一种数据的存储方式,数据存储在"节点"(Node)中
1.1结构基本代码:
class Node{
E e;
Node next;
}
1.2 图示如下:
1.3 优点、缺点
优点:真正的动态,不需要处理固定容量的问题
缺点:丧失了随机访问的能力,也就是不能通过索引进行访问,只能next来进行查找
1.4数组与链表的对比
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


猜你喜欢
- 今天群里有人问了关于仿京东App分类页面的实现,而我之前正好查过这方面的资料,手上正好有一个demo,正好分享给大家看看,个人觉得效果棒棒哒
- lombok插件使用引入依赖,在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的
- 本文实例为大家分享了Android Webview使用小结,供大家参考,具体内容如下#采用重载URL的方式实现Java与Js交互在Andro
- 本文实例讲述了C#实现char字符数组与字符串相互转换的方法。分享给大家供大家参考,具体如下:一、字符串转换为字符数组char[] temp
- 实践过程效果代码public partial class Form1 : Form{ public Form1()
- 方法一:使用多个controller的共同拥有的父类,即精确到两个controller的上一级@Beanpublic Docket crea
- 本文实例为大家分享了C语言自定义扫雷游戏的具体代码,供大家参考,具体内容如下实现过程对于用C语言实现扫雷游戏得实现,可将游戏过程分为两个板块
- .net core提供了Json处理模块,在命名空间System.Text.Json中,下面通过顶级语句,对C#的Json功能进行讲解。序列
- Service概念及用途:Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们
- Code CacheJVM生成的native code存放的内存空间称之为Code Cache;JIT编译、JNI等都会编译代码到nativ
- Scala异常处理Scala是一种多范式的编程语言,支持面向对象和函数式编程。Scala也支持异常处理,即在程序运行过程中发生意外或错误时,
- 先说结论:字段类型更改为 'keyword'elasticSearch官方文档中创建index代码如下PUT /my_sto
- 之前已经为大家介绍过利用Java实现带GUI的气泡诗词特效,本文将为大家介绍另一种方法同样也可以实现气泡诗词的效果。下面是示例代码impor
- C++ 实现求最大公约数和最小公倍数最大公约数辗转相除法:int maxDivisor(int a, int b) { int
- 1. kotlin 数值型fun main() { // 整数型 val a: Byte
- 使用YZMHelper帮助类即可using System;using System.Web;using System.Drawing;usi
- 前言本节我们将学习一下@PostConstruct的用法。概述@PostContruct是spring框架的注解,在方法上加该注解会在项目启
- 一、模糊查询的几种实现方式1.concat函数和#{}拼接的方式student_name like concat('%',#
- 本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下User.javaimport java.util.Scann
- package com.yswc.dao.sign;import java.io.BufferedReader;import java.io