/*
Set:元素是无序(存入和取出的顺序不一定一致)的,元素不可以重复。
Set集合的功能和Collection功能是一致的。
|--Set (如果hash值相同,则会比较内容,如果内容也相同,刚不存储)
|--HashSet:底层数据结构是哈希表。
|--TreeSet:
HashSet 是如何保证元素唯一性的呢?
是通过元素的两个方法,hashCode和equals来完成。
如果元素的HashCode值相同,才会判断equals是否为true.
如果元素的hashcode值不同,则不会调用equals方法。
注意HashSet,对于判断元素是否存在,以及删除等操作,依赖的方法是元素的
hashCode和equals方法。
ArrayList:是依靠equals判断的。因为底层的数据结构不同造成的。
哈希表:是按哈希值存的。
*/
import java.util.*;
class SetDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
HashSet hs = new HashSet();
hs.add("c++");
hs.add("java");
hs.add("c");
hs.add("java"); //返回 false
hs.add("c"); //返回 false 增加失败
Iterator it = hs.iterator();
while(it.hasNext())
sop(it.next());
}
}
HashSet
最新推荐文章于 2024-12-11 13:47:17 发布