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有一些特有的方法:
举例:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)