随笔 - 172  文章 - 0  评论 - 0  阅读 - 11920

Java集合(四)Set接口

  Set接口继承自Collection,Set接口中没有新增的方法,方法和Collection保持完全一致,前面在List的学习方法,在Set中仍然适用。

  Set容器特点:无序,不可重复。无序指Set中的元素没有索引,我们只能遍历查找。不可重复指不允许加入重复的元素。更确切地讲,新元素如果和Set中某个元素通过equals()方法对比为true,则不能加入,甚至Set中也只能放入一个null元素,不能多个

  Set常用实现类有:HashSet,TreeSet等,我们一般使用HashSet

 

HashSet集合

  HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能

  HashSet是Set接口的一个实现类,他所存储的元素是不可重复的,并且元素都是无序的。当向HashSet集合中添加一个元素时,首先会调用该元素的hashCode()方法来确定元素的存储位置,然后再调用equals()方法来确保该位置没有重复元素。Set集合与List集合存取元素的方式都一样。

 

 

 

 

TreeSet集合

  TreeSet 是 Set 接口的另一个实现类,它内部采用平衡二叉树来存储元素,这样的结构可以保证 TreeSet 集合中没有重复的元素,并且可以对元素进行排序。所谓二叉树就是说每
个节点最生有两个子书点的有序树,每个节点及其子节点组成的树称为子树,通常左侧的节点称为“左子树”,右侧的节点称为“右子树”,其中左子树上的元素小于它的根节点,而右子树上的元素大于它的根节点。

 

TreeSet有一些特有的方法:

 

 举例:

 

posted on   键盘敲烂的朱  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示