【集合框架 set】
1、set集合里元素的特点:
①元素存入和取出的顺序不一定一致
②元素不可以重复
2、HashSet哈希表存储:
底层数据结构——哈希表
HashSet存入重复元素(以人为例),同姓名同年龄视为同一个人 ,重复元素
从代码上看,equals方法没有被调用,是因为HashSet集合存储是先调用hashCode方法,可以重写hashCode方法做一下对比!
3、HashSet如何保证元素的唯一性
是通过元素的两个方法:
hashCode方法、equals方法(注意:判断元素是否存在,以及删除等操作时,依赖的同样是hashCode方法、equals方法。)
如果hashCode值相同——判断equals是否为true;
如果hashCode值不同——不会调用equals方法。
4、List与Set判断重复对象的区别?
List——只依赖于equals方法
Set——依赖于hashCode、equals方法
补充:
set集合的功能与Collection集合的功能在方法调用上是一致的。
集合框架TreeSet
1、TreeSet自然排序
TreeSet可以对set集合中元素进行排序;
String实现了Comparable接口,可以直接进行排序