day16_我的Java学习笔记 (Set、案例、Collections、Map、集合嵌套)



1.Set系列集合

1.1 Set系列集系概述












1.2 HashSet元素无序的底层原理:哈希表


JDK1.7 HashSet原理解析:




JDK1.8 HashSet原理解析:




1.3 HashSet元素去重复的底层原理








Set集合去重复的原因,先判断哈希值,再判断equals


重写equals()和HashCode()方法之后,集合中重复元素被去除了:

equals()方法:只要2个对象内容一样,结果一定是true。

HashCode()方法:只要传入值是一样的,结果一定是true。



1.4 实现类:LinkedHashSet







1.5 实现类:TreeSet












方式一:类自定义比较规则








方式二:



也可以通过价格进行排序:



注意:浮点型建议直接使用Double.compare()进行比较



2.Collection体系的特点、使用场景总结

3.补充知识:可变参数






4.补充知识:集合工具类Collections



排序方式1:将集合中元素按照默认规则排序





排序方式1:(以上面的Apple的例子)



排序方式2:将集合中元素按照指定规则排序




5. Collection体系的综合案例 (斗地主游戏)


























6.Map集合体系

6.1 Map集合的概述




6.2 Map集合体系特点



HashMap:无序,不重复,无索引


LinkHashMap:有序,不重复,无索引

6.3 Map集合常用API













6.4 Map集合的遍历方式一:键找值





6.5 Map集合的遍历方式二:键值对












6.6 Map集合的遍历方式三:lambda表达式








【案例】:Map集合案例-统计投票人数


6.7 Map集合的实现类HashMap











6.8 Map集合的实现类LinkedHashMap







6.9 Map集合的实现类TreeMap


规则1:类实现Comparable接口,重写比较规则。


规则2:TreeMap集合自定义Comparator比较器对象,重写比较规则。





7.补充知识:集合的嵌套












posted @ 2024-04-19 13:47  子沐呐吖  阅读(27)  评论(0)    收藏  举报