Set集合
2020-08-17 本文已影响0人
可乐两块冰
Set集合特点:
(1)不包含重复元素的集合
(2)没有带索引的方法,所以不能使用普通for循环遍历
HashSet: 对集合的迭代顺序不作任何保证
![](https://img.haomeiwen.com/i12082685/0d6345918588eefc.png)
哈希值:是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
Object类中可以使用 public int hashCode() 方法返回对象的哈希码值
![](https://img.haomeiwen.com/i12082685/352b201b1fc80f44.png)
![](https://img.haomeiwen.com/i12082685/1a201552c0deda5a.png)
LinkedHashSet
![](https://img.haomeiwen.com/i12082685/342ed87bb09cb31f.png)
TreeSet
集合里面存储的只能是引用类型,不能是int,需要用Integer
![](https://img.haomeiwen.com/i12082685/25e686bbf258faf1.png)
![](https://img.haomeiwen.com/i12082685/3619ce84fafc5e34.png)
比较器排序Comparator的使用;
可以把o1看成是主动比较者,是原始集合元素中的后一个,而O2可以看做是被动参照者,是原始集合元素中的前一个;此时,retun -1表示不符合预期规则,需要交换位置, return 1、0认为不需要交换位置,然后根据返回值分析再确定时O1减去O2还是O2减去O1。
![](https://img.haomeiwen.com/i12082685/72c5daf5c8850a38.png)