Set接口
Set集合存储特点:
不允许元素重复
不会记录元素的添加先后顺序
Set只包含从Collection继承的方法,不过Set无法记住添加的顺序,不允许包含重复的元素。当试图添加两个相同元素进Set集合,添加操作失败,add()方法返回false。
Set接口定义了一种规范,也就是该容器不记录元素的添加顺序,也不允许元素重复。
Set接口常用的实现类有:
HashSet类:底层采用哈希表实现,开发中使用对多的实现类,重点。
TreeSet类:底层采用红黑树实现,可以对集合中元素排序,使用不多。
Comparable接口
this > o:返回正整数 1 ,优先级较高
this < o:返回负整数 -1 ,优先级较低
this == o: 返回 0 ,此时认为两个对象为同一个对象。
Comparator接口
TreeSet除了默认支持自然排序外,还支持自定义排序,此时需要在构建TreeSet对象时传递java.util.Comparator接口的实现类对象,Comparator表示比较器,里面封装比较规则。
.Map接口
Map并不是集合,而表示两个集合之间的一种关系,故Map没有实现Collection接口。
Map称之为集合,不过要区分下,Set和List是单元素集合,Map是双元素集合。
单元素集合:每次只能存储一个元素,比如Set和List。
双元素集合:每次需要存储两个元素(一个key和一个value),比如Map。