无序 不重复 无索引
HashSet 元素无序的底层原理:哈希表:
JDk1.7之前:
JDK1.8之后:
总结:
HashSet 元素去重复的底层原理:
因为传入的参数值一样,所以重写之后的hashcode方法所给出的哈希值是一样的 前提是重写了equels和hashcode方法
实现类——LinkedHashSet(使用双链表记录添加顺序):
实现类——TreeSet:
例如:
没有给自定义类定排序规则,
所以报错
如何自定义规则:
方法一 实体类去实现Comparator接口:
方法二(集合自带比较器):
注意:因为是匿名类所以可以使用lambda表达式进行简化哦
总结:
Collection体系的总结: