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就是不对对象进行排序时使用的方式

四.集合大总结

相关推荐
LinXunFeng3 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
闪闪发亮的小星星7 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq8 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波8 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.8 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余8 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.8 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
秋波。未央8 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
中屹指纹浏览器8 天前
2026指纹浏览器字体指纹、字体渲染偏差检测与全维度虚拟字体池搭建方案
经验分享·笔记