Java HashSet

来源:互联网 发布:软件开发规格说明书 编辑:程序博客网 时间:2024/05/29 08:39

容器实现了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是浅拷贝



0 0
原创粉丝点击