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

四.集合大总结

相关推荐
志尊宝32 分钟前
Vue3 零基础每日笔记(027):组件上的 v-model——让自定义组件也能双向绑定
前端·javascript·vue.js·笔记·html5
自不量力的A同学44 分钟前
xbatis 1.10.9 正式发布
笔记
老当益壮梁奶奶11 小时前
51单片机DS18B20温度传感器详解:单总线时序与C51驱动实现
笔记·stm32·单片机·嵌入式硬件·51单片机
小叶肥辉11 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
从零开始的嵌入式之旅13 小时前
day44
arm开发·经验分享·笔记·嵌入式硬件
商业白皮书16 小时前
杭州企业做 GEO 怎么选服务商?B2B 制造、外贸出海与品牌连锁选型指南
笔记
商业白皮书16 小时前
密不透风的瑕疵防线:东集SEV400视觉传感器,定义“轻量化”精准检测
笔记
谢白羽19 小时前
MiniMax-H3 : 4卡 H20-3e一套权重部署实践/8卡H200部署优化实测
笔记·llm·论文·大模型部署·sglang
志尊宝19 小时前
Vue3 零基础每日笔记(024):组件的创建与使用——从 import 到自动导入
前端·vue.js·笔记·前端框架·html5
chnyi6_ya20 小时前
论文阅读笔记:VBVR-Pro 把「用生成来推理」变成一个可训练、可验证、可优化的闭环
论文阅读·笔记