Hash,我們?cè)谡f(shuō)HashMap的時(shí)候,已經(jīng)知道Hash是散列,Map是映射了。
那么Set又是什么呢 ?
先來(lái)看看Set的翻譯是什么
n. [數(shù)] 集合;一套;布景;[機(jī)] 裝置
這里Set所取的含義是集合。而且是數(shù)學(xué)概念上的集合。數(shù)學(xué)概念上的集合有什么特點(diǎn)呢?那就是Set中所有的元素不能重復(fù)。所以HashSet的意思就是以散列的形式維持一套不會(huì)有重復(fù)元素的集合。
接下來(lái)我們看看HashSet是怎么被Jdk實(shí)現(xiàn)的吧。(其實(shí)邏輯非常簡(jiǎn)單。)
類的聲明:
hashSet 繼承自AbstractSet,實(shí)現(xiàn)了Set類以及克隆接口和可序列化接口。
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable