注意:
我们学习set,它的方法没有特殊,也就是说,我们使用的是都是从 Collection中定义的方法.
我们学习Set集合,主要学习的是其数据结构
老师讲的知识点:
set 元素无序 不可重复,set的集合功能和collection一样
|--HashSet:底层数据结构是哈希表
HashSet是通过元素的两个方法来保证元素的唯一性的,即Hashcode和equals来完成
如果元素的Hashcode值相同,才会判断equals是否为true
如果元素的Hashcode值不同,才会调用equals
注意,对于判断元素是否存在,以及删除操作,依赖的方法时元素的hashcode和equals
|--TreeSet:可以对set集合中的元素进行排序,底层数据结构是二叉树,保证元素唯一性的依 据:compareTo方法return 0
treeset排序的第一种方式:让元素自身具备比较性,需要实现comparable接口,覆盖 compareto方法,这种方式特称元素的自然顺序或默认顺序
treeset排序的第二种方式:当元素自身不具备比较性时,或者具备的比较性不是所需 要的,这时就需要让集合自身具备比较性,定义一个比较 器,将比较器对象作为参数传递给treeset集合的构造函数
TreeSet中重要概念:
1. 知道TreeSet集合特点
不重复,可以对集合中元素进行排序。
2. 比较器
Comparator
3. 自然顺序
Comparable
4. TreeSet怎样保证集合中元素唯一 性
是通过自然顺序或比较器来判断的,compareTo compare方法如果返回的是0就代表重复了。 |
|