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

四.集合大总结

相关推荐
凉、介1 小时前
关于家用路由器的一些知识
网络·笔记·学习·智能路由器
ljt27249606612 小时前
Compose笔记(七十三)--滑动折叠AppBar
笔记·android jetpack
saoys2 小时前
Opencv 学习笔记:基于图像变换 + 分水岭的图像分割(背景去除入门)
笔记·opencv·学习
kkkkkkkkk_12012 小时前
【强化学习】08周博磊强化学习纲要学习笔记——第四课下
笔记·学习·强化学习
今天你TLE了吗2 小时前
JVM学习笔记:第二章——类加载子系统
java·开发语言·jvm·笔记
139的世界真奇妙2 小时前
工作事宜思考点
经验分享·笔记·golang·go
探序基因2 小时前
knockTF2.0数据库-找上游转录因子
数据库·经验分享·笔记
ljt27249606612 小时前
Flutter笔记--StreamBuilder
笔记·flutter
时代的凡人10 小时前
0208晨间笔记
笔记