A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小白咸菜 初级黑马   /  2021-9-13 20:59  /  963 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

day06知识点概述总结
今天讲了啥呢,趁我还记得,概述一下吧,虽然重在理解,这也算加深理解吧
今天讲了数据结构的树,分为二叉树,平衡二叉树,二叉查找树,红黑树,四种数呢,主要记住他们的特点,就是有父亲,有孩子,还有兄弟,二叉树呢是分叉为二的树,树的高度也叫树的层数也叫树的度,又分为根节点和无数个子节点,平衡二叉树就是左右两分叉高度差不超过1的平衡树,二叉查找树,就是左边放比节点小的,右边放比节点大的,方便查找,红黑树就是根节点黑色,通过左旋,右旋,来解决左右高度差大于1的情况,最优选择,讲完数据结构就到集合的单列集合Collection下的两小弟的另外一个Set集合了,Set集合分为HashSet,TreeSet,LinkSet,HashSet主要是底层是哈希表加数组加红黑树的结构组成,也就是说通过哈希值判断位置,再通过元素不重复就行链表加节点,本身又是一个长度为16的数组,扩容因子是0.75,也就是到12就开始扩容,扩容长度是原来的两倍,然后重点就是去重,不重写hascode和equals的方法就没办法去重复的元素,写了就可以重写,Set集合的特点是存取顺序不一致,元素不重复,无索引,所以一般循环用迭代器或者For循环,然后到TreeSet集合,这个集合特点就是可以自动排序,这是hashset无法做到的,自动排序也就数字和字符串有效,字符不知道可不可以,应该行,因为有写了CompareTO的比较方法,说到这就得说比较器,比较器就是用来排序的,排序规则就是两个数相减,大于一放右边,比他大,小于1放左边,0当重复不添加,然后就是对象的排序就得重写Comparable接口,用匿名内部类或者是compareTO比较器,比较的当然是自定义对象的数值属性,这样就可以排序了,当然字符串也可以定义规则,就是重写接口或者方法,看业务
然后到LinkSet,LinkSet就是可以给HashSet排序的一种集合吧,就是保证存取顺序一致,然后到啥呢,对了比较器那里比较小数的时候,因为返回值是Int,强转会精度损失,所以最好判断一下,怎么判断呢,直接乘以一百再判断也可以,然后Collections是一个工具类,加S都是工具类感觉很亲切哈,作用有几个,一个就是方便加元素,addAll,直接加满,打乱顺序,shuff,工具类都是静态,所以类名.方法名就行,还有就是自动升序排序方法sort,还有就是一个sort的一个有参方法,传入集合和比较器,来决定排序的规则,然后到泛型,泛型就是给使用者更多选择的一种类型,包含所有类型,定义格式是<T>,泛型名不固定,可以加在class后,接口后,方法返回值前,还有变量名前,数组[]前,都是表示可以接收多种类型的变量或者参数,泛型还有可变参数,就是就来不确定参数个数时,int...变量名,可以让个数不固定,实际包装成了数组,但是参数用的还是Int类型
还有就是类型通配符,就是<?>,不固定类型,上限是extends 父类名,下限是super 子类名

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马