- class Demo{
- public static void main(String[] args){
- HashSet<String> hSet = new HashSet<String>();
- hSet.add("zxx");
- hSet.add("lhm");
- hSet.add("flx");
- Iterator<String> iterator = hSet.iterator();
- while(iterator.hasNext()){
- String name = iterator.next();
- System.out.println(name);
- }
- }
- }
复制代码
HashSet和HashMap中,底层的数据结构是哈希表,元素存储是按哈希表中对应的值在集合中存储
哈希值为根据哈希函数计算得到的元素在内存中的地址值,因为不可以存储相同的元素,在添加元素时需要判断
因为计算出来的元素的哈希值有可能相同,所以还需要复写equals方法,判断元素的内容是否相同
存入元素时要先判断hashCode方法的值
如果元素的HashCode值相同,才会判断equals是否为true
如果元素的hashcode值不同,不会调用equals |