2月11日笔记

一.泛型

1.简介

想写入基本数据类型就要写成包装类的形式

2.泛型类

3.泛型方法

方法申明上定义泛型的示例如下

4.泛型接口

方式一代码实现

MyArrayList继承了List接口,是这个接口的实现类,泛型写的是string,所以添加数据时只能添加string类型的数据.添加"abc"类的字符串就会报错

方式二的代码实现

注意第二种方式与第一种的格式区别

一旦在创建对象后已经确定了E的数据类型,那以后的数据类型都会是这个数据类型

5.泛型的继承

泛型不具备继承性,但数据具备继承性

代码示例如下

首先有一个爷,父.子继承结构,

此时分别创建三个类的对象,但由于泛型不具备继承性,所以后两个是不可以添加进集合里的

但是数据具备继承性,可以添加

如果想要使任意的数据类型都可以添加进集合里,可以采取泛型方法(E)来实现

6.泛型的通配符

二.数据结构(续)

1.树

二叉树
二叉查找树

节点添加规则

二叉树遍历方式

前序遍历

中序遍历

后序遍历

层序遍历

平衡二叉树
平衡二叉树添加规则

和二叉查找树一样

平衡二叉树旋转机制

自己看视频吧总结不了太碎了

平衡二叉树需要旋转的情况

左左

左右

右右

右左

不同情况的解决方法

红黑树

红黑规则

红黑树添加规则

三.set系列集合

1.HashSet

哈希值

HashSet底层原理

看视频去吧总结不了

注意点:

在HashSet中存入自定义对象时,如果不重写equal和Hashcode方法,存入数据时就会那地址值进行比较,就不能达到不重复的效果.

2.LinkedHashcode

一般用的方法就是collection里的方法,

3.treeset

TreeSet排序规则

对于字符串排序,会对字母进行一个一个比较,只要发现大的就排后面,不管后面有什么

TreeSet底层的数据结构是红黑树,忘了再去看视频

TreeSet关于对象的排序方法
方法一

先继承这个接口,但这个接口带泛型,需要根据泛型接口那里的知识进行选择

再重写里面的方法

方法二

注意:这里的compareTo就是不对对象进行排序时使用的方式

四.集合大总结

相关推荐
齐生117 小时前
iOS 知识点 - IAP 是怎样的?
笔记
tingshuo29171 天前
D006 【模板】并查集
笔记
tingshuo29172 天前
S001 【模板】从前缀函数到KMP应用 字符串匹配 字符串周期
笔记
西岸行者7 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
starlaky7 天前
Django入门笔记
笔记·django
勇气要爆发7 天前
吴恩达《LangChain LLM 应用开发精读笔记》1-Introduction_介绍
笔记·langchain·吴恩达
悠哉悠哉愿意7 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
勇气要爆发7 天前
吴恩达《LangChain LLM 应用开发精读笔记》2-Models, Prompts and Parsers 模型、提示和解析器
android·笔记·langchain
qianshanxue117 天前
计算机操作的一些笔记标题
笔记
土拨鼠烧电路7 天前
笔记11:数据中台:不是数据仓库,是业务能力复用的引擎
数据仓库·笔记