Java链表(Linked List)基本原理与实现方法入门示例
2020-03-22 12:07
911 查看
本文实例讲述了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算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- java 集合 之 链表和线性表以及ArrayList的各方法的介绍及示例 及 ArrayList与LinkedList的区别分析 及 ArrayList与Array(数组)的区别
- Data structure-4 双向链表 DoubleLinkedList--Java语言实现
- Java数据结构之简单链表的定义与实现方法示例
- java 集合之实现类ArrayList和LinkedList的方法
- Data structure-3 单链表LinkedList--Java语言实现
- LinkedList---链表各种方法的实现
- 【LeetCode-面试算法经典-Java实现】【092-Reverse Linked List II(反转单链表II)】
- 自行实现LinkedList (链表) --Java版
- 【LeetCode-面试算法经典-Java实现】【141-Linked List Cycle(单链表中有环)】
- [java数据结构]--java双向链表LinkedList的简单实现
- Kotlin中Stack与LinkedList的实现方法示例
- Java集合LinkedList链表实现原理及源码分析详解_一点课堂(多岸学院)
- java中链表的实现类LinkedList
- HashMap存取效率高原因、ArrayList和LinkedList区别、JAVA实现链表的基本功能
- 49. 3种方法实现复杂链表的复制[clone of complex linked list]
- 链表(LinkedList) Java 语言实现
- 【LeetCode-面试算法经典-Java实现】【142-Linked List Cycle II(单链表中有环II)】
- 带有首尾的可反转链表(LinkedList)的java实现
- Java中list接口的方法和list接口的实现类LinkedList,Vecotr以及队列和栈结构
- Java实现ListNode链表反转-三种方法