一, set 集合可以存储多个元素对象,特点是:
无序元素唯一;
数据取出方式是:迭代器 , 增强for循环;
实现类有
HashSet , LinkedHashSet, TreeSet;
1. HashSet 采用
哈希表结构。保证
元素数据的唯一性, 使用hashcode() 和equels()方法;
元素的存与取的顺序不能保证一致
.允许放
null
值,只能一个
null.
2. LinkedHashSet
元素唯一不重复, 采用哈希表结构和廉表示结构,
元素存取顺序一致;
3. TreeSet 是一个
二叉树,其本质是
有序,
无重复元素的集合,
TreeSet 有两种排序方法 :
1.
自然排序法:
2. 根据创建TreeSet时 提供
提供的
Comparator
进行排序
。不允许放入
null值。
Set 使用场景:
1. HashSet 是基于
哈希 算法实现的,比 TreeSet
查询更快更方便;
2.一般情况下,都会首先使用 Has和Set, 但排序的话,TreeSet更方便;
List 集合去重复:
遍历 Lest集合存放至
Set(Hashset )
集合中
如果集合存放的是自定义
对象,
那么保证其唯一,就必须重写
hashCode
和
equals
方法建立属于当前对象的比较方式。