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.补充知识:集合的嵌套












本文来自博客园,作者:子沐呐吖,转载请注明原文链接:https://www.cnblogs.com/SuperLee017/p/18145409





















































































浙公网安备 33010602011771号