HashSet的特点 元素不重复允许有null值,但是只允许有一个null 实现原理 HashSet是基于HashMap来实现的,key存的是就是put进来的值,因为HashMap的key是唯一的,所以保证了不重复;value是一个默认的值;因为HashSet用的是key,所以当发现key存在的时候,就直接返回,不去替换了。往HashSet里存放的元素,需要有hashCode()和equals()方法,存放的时候先根据hashCode()计算元素的hash值,然后根据equals方法来判断该元素是否已经存在,从而保证HashSet的元素不重复性。