2023.3.14set

Set接口是Collection的子接口,特点是无序且不可重复。HashSet是最常用的Set实现类,它基于HashMap实现,允许null元素,不保证元素顺序,通过哈希算法决定元素位置并避免元素重复。当哈希冲突时,会使用equals()方法判断元素是否相同。
摘要由CSDN通过智能技术生成

1Set 接口介绍

Set 接口继承自 Collection,List 的方法,在 Set 中仍然适用,

2Set 接口特点

Set 特点:无序、不可重复。无序指 Set 中的元素没有索引,我们只能遍历查找;不可 重复指不允许加入重复的元素。更确切地讲,新元素如果和 Set 中某个元素通过 equals() 方法对比为 true,则只能保留一个。 Set 常用的实现类有:HashSet、TreeSet 等,我们一般使用 HashSet。

3hashset

HashSet 是一个没有重复元素的集合,不保证元素的顺序。而且 HashSet 允许有 null 元 素。HashSet 是采用哈希算法实现,底层实际是用 HashMap 实现的,因此,查询效率和增删效率都比较高。

4:HashSet 存储特征分析

HashSet 是一个不保证元素的顺序且没有重复元素的集合,是线程不安全的。 HashSet
允许有 null 元素。
无序:
HashSet 中底层是使用 HashMap 存储元素的。 HashMap 底层使用的是数组与链表实
现元素的存储。元素在数组中存放时,并不是有序存放的也不是随机存放的,而是对元素的
哈希值进行运算决定元素在数组中的位置。
不重复:
当两个元素的哈希值进行运算后得到相同的在数组中的位置时,会调用元素的 equals()
方法判断两个元素是否相同。如果元素相同则不会添加该元素,如果不相同则会使用单向链
表保存该元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值