当前位置: 首页 > news >正文

【LinkedList demo 内部类讲说】

LinkedList demo 内部类讲说

      • 1. Node节点
      • 2.MyLinkedList
      • 3. LinkedListTest 测试类

1. Node节点

public class Node<T> {private Node<T> pre;private Node<T> next;private T data;public Node() {}public Node getPre() {return pre;}public void setPre(Node pre) {this.pre = pre;}public Node getNext() {return next;}public void setNext(Node next) {this.next = next;}public T getData() {return data;}public void setData(T data) {this.data = data;}public Node(Node pre, Node next, T data) {this.pre = pre;this.next = next;this.data = data;}
}

2.MyLinkedList

public class MyLinkedList<T>{private Node<T> head;private Node<T> tail;private int size;public MyLinkedList() {}public MyLinkedList(Node<T> head) {this.head = head;}public void add(T data) {if (head == null) {Node<T> node = new Node<>();node.setData(data);head = node;tail = node;} else {Node<T> node = new Node<>();node.setData(data);node.setPre(tail);node.setNext(null);tail.setNext(node);tail = node;}size++;}public int size() {return size;}public T get(int index) {if (index < 0 || index >= size) throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);Node<T> node = head;for (int i = 0; i < index; i++) {node = node.getNext();}return (T)node.getData();}
}

3. LinkedListTest 测试类

public class LinkedListTest {/*** 内部类可以访问外部类的所有成员,包括私有成员。根据定义的位置分为:* 1.成员内部类(最常用)* 2.静态内部类* 3.局部内部类* 4.匿名内部类* 形象地比喻,内部类像是“遥控器的电池”* 想象一下,你买了一台空调,它配有一个遥控器(内部类)* 遥控器可以控制空调,就像内部类可以访问外部类的属性* 如果遥控器有电池仓(匿名内部类),可以插入具体电池(一个临时的实现)** 何时使用内部类?* 内部类只为外部类服务,不需要被外部调用* 需要访问外部类的私有成员时,* 代码结构上是一种强关联的逻辑组织。*/public static void main(String[] args) {MyLinkedList<String> list = new MyLinkedList<>();list.add("aa");list.add("bb");list.add("cc");String result = list.get(1);System.out.println(result); //输出bb}
}

相关文章:

  • 【基于SpringBoot的图书购买系统】深度讲解 分页查询用户信息,分析前后端交互的原理
  • Linux(3)——基础开发工具
  • 威纶通触摸屏IP地址设定步骤及程序下载指南
  • Nginx笔记
  • 传输层协议:UDP和TCP
  • Unity3D仿星露谷物语开发46之种植/砍伐橡树
  • 【Redis】跳表结构
  • Pytorch分布式训练,数据并行,单机多卡,多机多卡
  • 深度学习中的正则化方法与卷积神经网络基础
  • HTB 赛季8靶场 - Puppy
  • 【MySQL】04.数据类型
  • PLC系统中开关量与模拟量信号解析
  • 【Java高阶面经】3.熔断机制深度优化:从抖动治理到微服务高可用架构实战
  • 使用 Qt Designer 开发
  • 第41天-Python+Qt四屏播放器开发指南
  • 第12天-Python+Qt5开发实战:10大经典案例与深度解析
  • Qt 控件发展历程 + 目标(1)
  • Visual Studio 制作msi文件环境搭建
  • Word 转 HTML API 接口
  • RK3568 OH5.1 源码编译及问题
  • 同济大学党委常务副书记冯身洪履新中国科协党组副书记
  • 设甜蜜打卡点、还能当婚车,上海定制公交车变身“幸福专列”
  • 66岁华仁世纪集团有限公司创始人、董事长梁福东逝世
  • 南宁海关辟谣网传“查获600公斤稀土材料”:实为焊锡膏
  • 国家统计局:4月社会消费品零售总额同比增长5.1%
  • 交响4K修复版《神女》昨晚上演,观众听到了阮玲玉的声音