java链表结构基本形式(学习笔记)
来源:互联网 发布:淘宝美工首页一般多久 编辑:程序博客网 时间:2024/06/07 00:56
链表是一种根据元素节点逻辑关系排列起来的一种数据接口;利用链表可以存储多个数据,类似数组,但是与数组不同的是链表的长度是可变的,对于数据的增删操作是比较方便的,具有链表结构的集合类入linkedset,linkedmap具有增删快,查询慢的特点;
链表操作的标准形式结构
- 客户端代码不关注具体的Node及引用关系,只需要关注Link中提供的数据操作的方法
- Node关注数据的保存和引用关系的分配
- Link关注Node对象的产生和根节点
代码如下:
Node
package listStructure.entity;/*** 节点* 主要功能:* 保存数据* 设置下一个节点*/public class Node {//定义一个节点 private String data;//需要保存的数据 private Node next;//下一个节点 public Node(String data) {//只有当数据存在时候才可以创建节点 this.data = data; } /** * 设置节点关系 */ public void setNext(Node next) {//设置下一节点 this.next = next; } public Node getNext() {//获取下一个节点 return this.next; } public String getData() {//获取当前节点的数据 return this.data; } /** * 实现节点的增加 * 使用递归操作 */ public void addNode(Node newNode) { if(this.next == null) {//当当前节点中的下一个节点为null时,才可以把新数据保存到下一个节点 this.next = newNode; }else {//如果当前节点中的下一节点不是null则需要再次使用下一个节点判断是否可以添加节点 this.next.addNode(newNode); } } /** * 输出节点数据 */ public void printNode() { System.out.println(this.data); if (this.next != null) { this.next.printNode(); } }}
Link
package listStructure.Utils;import listStructure.entity.Node;/** * 操作Node中的数据 * @author cgg48 * */public class Link {private Node root;//根节点public void add(String data) {/** * 如果是第一个数据,则根节点就是第一个节点,否则将数据添加到存在的数据的后面 */Node newNode = new Node(data);if (this.root == null) {this.root = newNode;}else {this.root.addNode(newNode);}}/** * 使用递归输出数据 */public void print() {if (root != null) {this.root.printNode();}}}
Test
package listStructure.test;import listStructure.Utils.Link;public class LinkTest {public static void main(String[] args) {/** * 新增几个节点并输出 */Link link = new Link();link.add("测试1");link.add("测试2");link.add("测试3");link.add("测试4");/** * 输出 */link.print();}}结果
阅读全文
0 0
- java链表结构基本形式(学习笔记)
- Java学习笔记(1):基本程序设计结构
- java学习笔记(一)程序基本结构
- JAVA学习笔记-基本程序设计结构
- java学习笔记-基本程序设计结构
- java学习笔记之基本控制结构
- C学习笔记(九)结构和其他数据形式
- JVM学习笔记(一)------基本结构
- JVM学习笔记(一)------基本结构
- JVM学习笔记(一)------基本结构
- JVM学习笔记(一)------ 基本结构
- JVM学习笔记(一)------基本结构
- JVM学习笔记(一)------基本结构
- JVM学习笔记(一)------基本结构
- JVM学习笔记(一)------基本结构
- JVM学习笔记(一)------基本结构 .
- JVM学习笔记(一)------基本结构
- JVM学习笔记(一)------基本结构
- vue.js初学3之vue指令②
- OSPF笔记-8
- hadoop入门八(搭建环境)
- LaTeX公式语法1
- 在linux安装依赖于python包时,报错libpython.a: conld not read symbols
- java链表结构基本形式(学习笔记)
- 某些电脑下从注册表中获取的APPdata路径为空(来源于boost问题反馈)
- 【loli的胡策】Tourist Attractions(bitset)
- 机器学习名词
- php $__FILES 文件上载
- OSPF笔记-9
- Idea 使用Alibaba开发规约插件
- 常见系列之[浏览器内核][ASCII码][HTML实体]
- chrome的手机端调试