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

java数据结构基本框架

一.ArrayList implements Iterable<E>

1.属性

(1)int DEFAULT_CAPACITY表示默认容量

(2)int theSize表示链表大小

(3)E[] theItems表示底层是数组

2.构造方法

(1)无参构造器调用doClear()

(2)doClear()将theSize置为0,数组赋默认容量

二.LinkedList implements Iterable<E>

1.内部类

设一个内部类Node<E>,作用是将节点抽象化。

(1)属性:节点中包括E data,Node<E>prev,Node<E>next;

(2)构造方法:Node(E d,Node<E> p,Node<E> n),赋初值。

2.属性

(1)用Node<E> beginMarker和Node<E> endMarkder生成首尾标记

(2)用 int theSize表示链表大小

(3)用int modCount表示对链表所作修改的次数

3.构造方法

(1)无参构造器调用doClear()

(2)doClear()将theSize置为0,++modCount,beginMarker = new Node<E>(null,null,endMarker),endMarker = new Node<E>(null,beginMarker,null)

三.树 <E extends <Comparable<? super E>>

1.内部类

设一个内部类Node<E>,作用是将节点抽象化。

(1)属性:节点中包含E element,Node<E> leftChild,Node<E> rightChild(或Node<E>nextSibling);

(2)构造方法:两个构造方法,Node(E e,Node<E> lt,Node<E> rt/nt)和Node(E e),第二个调用第一个,将2.3参数设为null(表示只有一个节点的树)。

2.属性

(1)用Node<E>(树)或Node<E>[](森林)生成一个引用tree,代表根节点或多个根节点(森林)

(2)用int currentSize代表节点个数

(3)可能会有n个DEFAULT_VALUE:表示默认容量,默认根节点个数(森林)等

3.构造方法

(1)Tree(E item)中先构造一个根节点,然后将调用makeEmpty():将currentSize置零,并将所有的对象置null

(2)Tree()调用Tree(E item),item置为某个DEFAULT_VALUE。

转载于:https://www.cnblogs.com/xiehuazhen/p/9973072.html

相关文章:

  • linux_用户以及权限
  • webpack4配置详解之新手上路初探
  • ConnectionState详解
  • Oracle EBS 获取用户挂的职责 请求 请求的类别(RTF还是什么的)
  • bzoj 2655 calc——拉格朗日插值
  • 关于mysql数据库的乱码问题
  • n阶行列式算法(c程序)
  • 2-2+CPU多级缓存-乱序执行优化
  • 正则表达式中/i,/g,/ig,/gi,/m的区别和含义
  • bzoj 2194 快速傅立叶之二 —— FFT
  • ELK使用2-Kibana使用
  • 用Inno setup制作以管理员权限启动的安装包
  • airtest自动化游戏脚本测试
  • 【WebApi】通过HttpClient调用Web Api接口
  • JUnit测试
  • @angular/forms 源码解析之双向绑定
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 230. Kth Smallest Element in a BST
  • AWS实战 - 利用IAM对S3做访问控制
  • CSS魔法堂:Absolute Positioning就这个样
  • Fabric架构演变之路
  • FastReport在线报表设计器工作原理
  • js中forEach回调同异步问题
  • leetcode98. Validate Binary Search Tree
  • LeetCode算法系列_0891_子序列宽度之和
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • spring boot下thymeleaf全局静态变量配置
  • TCP拥塞控制
  • ubuntu 下nginx安装 并支持https协议
  • windows下如何用phpstorm同步测试服务器
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 第十八天-企业应用架构模式-基本模式
  • 复习Javascript专题(四):js中的深浅拷贝
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 排序算法学习笔记
  • 新手搭建网站的主要流程
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #Ubuntu(修改root信息)
  • #vue3 实现前端下载excel文件模板功能
  • $$$$GB2312-80区位编码表$$$$
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (6)设计一个TimeMap
  • (C#)获取字符编码的类
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)Google的Objective-C编码规范
  • (转)平衡树
  • (转)项目管理杂谈-我所期望的新人
  • **python多态
  • .net Stream篇(六)
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NET的微型Web框架 Nancy