黑马程序员:集合类——2

---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、

<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流!

----------------------

Set : 元素是无序的(存入和取出的顺序不一定一致),元素不可重复没有索引。
Set集合功能和其父类Collection是一致的。

 HashSet :  Set的子类,底层数据结构式哈希表,
 HashSet是如何保证元素唯一性的呢?
 通过元素的两个方法,hashCode和equals来完成,如果元素的hashCode相同,
 才会判断equals是否为true。如果hashCode不相同,则不调用equals。

对于判断元素是否存在,以及删除元素,依赖的操作方法是元素的hashCode和equals方法。

 TreeSet:也是Set的子类,可以对Set集合中的元素进行排序,底层数据结构式二叉树。
 保证元素的唯一性的依据,compareTo方法 返回0;
 
TreeSet排序的第一种方式:让元素自身具备比较性,元素需要实现Comparable接口,覆盖compareTo方

法,这种方式也成为元素的自然顺序,默认顺序。

 第二种方式:
 当元素自身不具备比较性时,或者具备的比较性不佳不是所需要的时,这是就要让集合自身具

备比较性,在集合初始化时,就有了比较方式

 

 

 


---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、

<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流!

----------------------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值