Java的set 之 HashSet与TreeSet

set

特点: 无序无重复

无序:添加的顺序,获取的顺序不一致(不是集合本身是否有序,Tree自然有序)

无重复:添加的元素不能医治(如果出现重复元素,只存入第一个,后面重复的不再存入)

HashSet(HashMap --> 数据存储结构 散列表)

TreeSet(TreeMap--->数据存储结构:(红黑)二叉树)

set集合家族的基本使用:

增删改查:add(E e) remove(E e) 没有修改 iterator<>迭代器 也可以用增强for循环

                                                                         hasNext(); 是否有下一个元素  next();获取元素

set集合的无重复特性:

    hashSet 无重复原则有两个方法同时起作用:equals hashCode 默认都是继承Object ,都是比较地址

                    默认比较的是两个对象的地址,若第二个对象的地址与之前的一致,则不再存入

                    如果想要改变其比较的规则, 可以重写上述两个方法

   TreeSet   无重复原则有一个方法起作用

                    compareTo 

                    上述这个方法不是每一个对象都有的

                    如果想要将某个对象存入TreeSet集合中 需要让对象所属的累实现Comparable接口,

                    实现接口后将compareTo方法重写 返回值是int类型 负数靠前排  正数靠后排

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值