Java HashSet

容器实现了Set接口,后端由hash table支持.每次在迭代的时候,容器不保证迭代遍历的顺序.可以存储null元素.

提供常数时间的基本操作:add remove contains add size

遍历的时间依赖于HashSet中的元素数量以及hashmap的capacity.因此,在性能非常重要的场景下,不适合于将HashSet的初始capacity设置的过大或者装载因子过低.

同样的HashSet也非线程安全,如果要想实现并发控制,可以再创建实例时使用以下方法:

Set s = Collections.synchronizedSet(new HashSet(...));

HashSet的类继承关系如下:

public class HashSet<E>
    extends AbstractSet<E>
    implements Set<E>, Cloneable, java.io.Serializable

实现的方式是,要存的东西是key,value统一用object来放入一个HashMap


提供的clone是浅拷贝



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值