集合--------set---Map

Set集合
特点 存储无序 并且不能重复的元素
Set里的方法全部继承于Collection接口
Set实现类 HasSet
为了保证元素内容不能重复
所以要覆盖hashCode与equals方法
覆盖hasCode是为了保证内容相同的对象HasCode值一定想同 然后进行比较
注意
HashSet保证存储元素内容不重复的执行原理:通过 set.add(s1)将对象存储HashSet集合中时,默认 调用 存储对象(s1)的 hashCode方法,获取哈希码值,哈希码值通过一定计算(哈希值%底层数组长度)得到存储位置下标,如果此下标上没有存储过任何元素,则 直接存储;但是存储该下标上已经存储对应的元素,此时默认调用 s1对象对应类中的equals方法判断存储对象和 此下标已经对象的内容是否相同,如果 equals结果为true,代表内容相同对象,则s1被拒绝添加到集合中;但是如果equals结果为 false代表内容不同的对象,则s1允许添加到集合中,也是存储在此下标中,这时采用是数组+链表形式进行存储。
在这里插入图片描述
Set的其他实现类LinkedHashSet去除重复元素 并且按照添加的书序来操作 存储的元素类中必须覆盖hasCode与equals方法
TreeSet类 时SortedSet接口的实现类 SortedSet是Set的子接口
对集合内的元素进行排序
TreeSet存储的自定义类型对象必须实现Comparable接口 并且覆盖compareTo方法在方法里添加判断的条件
TreeSet保证元素不重复,取决compareTo方法的返回值,返回值为0,代表内容相同的元素,直接拒绝添加到TreeSet集合中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值