hashset可以重复吗

六六 TOP1 332

hashset不允许有重复的值。当我们提到HashSet时,第一件事情就是在将对象存储在HashSet之前,要先确保对象重写equals()和hashCode()方法。通过hashSet.size()获取它含有元素的个数,上面去掉重复的元素后,hashSet.size()=3。也就是说,在向HashSet中添加(add())元素的时候,对于重复的元素,只在HashSet中保留一个副本。

一、基本介绍

HashSet类,是存在于java.util包中的类 。同时也被称为集合,该容器中只能存储不重复的对象,

已知实现接口有:

Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>

直接已知子类:

JobStateReasons, LinkedHashSet

二、构造方法摘要

HashSet()

构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75。

HashSet(Collection<? extends E> c)

构造一个包含指定 collection 中的元素的新 set。

HashSet(int initialCapacity)

构造一个新的空 set,其底层 HashMap 实例具有指定的初始容量和默认的加载因子(0.75)。

HashSet(int initialCapacity, float loadFactor)

构造一个新的空 set,其底层 HashMap 实例具有指定的初始容量和指定的加载因子。

三、方法摘要

boolean add(E e)

如果此 set 中尚未包含指定元素,则添加指定元素。

void clear()

从此 set 中移除所有元素。

Object clone()

返回此 HashSet 实例的浅表副本:并没有复制这些元素本身。

boolean contains(Object o)

如果此 set 包含指定元素,则返回 true。

boolean isEmpty()

如果此 set 不包含任何元素,则返回 true。

Iterator<E> iterator()

返回对此 set 中元素进行迭代的迭代器。

boolean remove(Object o)

如果指定元素存在于此 set 中,则将其移除。

int size()

返回此 set 中的元素的数量(set 的容量)。

从类 java.util.AbstractSet 继承的方法

equals, hashCode, removeAll

从类 java.util.AbstractCollection 继承的方法

addAll, containsAll, retainAll, toArray, toArray, toString

从类 java.lang.Object 继承的方法

finalize, getClass, notify, notifyAll, wait, wait, wait

从接口 java.util.Set 继承的方法

addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray


最后,推荐我们的管理工具给大家。

回复

我来回复
  • 暂无回复内容

联系我们
关注微信
关注微信
分享本页
返回顶部