Set : 无序,不可重复
无序: 存放的顺序与内部真实存储对的顺序不一致
新增内容 : static
遍历方式:
1)foreach(增强for)
2)iterator迭代器
TreeSet :
底层结构 : 红黑树(平衡二叉树)
特点 : 自动对数据做默认的升序排序
应用场景: 想要实现去重,并且对数据需要默认排序情况
遍历方式: 1)foreach 2)iterator
比较器:
1.内部比较器|自然排序 :
实现Comparable
2.外部比较器|自定义排序
实现Comparator
注意: TreeSet去重,排序,都根据比较规则实现
如果指定外部比较规则,使用外部比较规则,没有指定外部,使用内部比较规则,都不在,抛出类型转换异常ClassCastException
HashSet
底层结构: 哈希表(数组+链表+红黑树)
特点: 查询增删效率高,无序,去重
应用场景: 适合用在去重,无序,增删查效率较高情况
存储Javabean类型数据实现去重:
需要Javabean类型重写hashcode与equals方法,需要根据对象的属性值进行计算|判断,不能根据对象地址
思考: 重写hashcode与equals以后
两个对象hashcode相等,equals就一定相等? 不一定
两个对象equals相等,hashcode一定相等? 一定
注意:
javabean的定义规范: 重写hashcode与equals方法



