import java.util.HashSet;
import java.util.Iterator;
/*
* Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复。
* HashSet:底层数据结构是哈希表
* HashSet是如何保证元素唯一性的呢?
* 是通过元素的两个方法,HashCode和equals来完成。
* 如果元素的HashCode值相同,才会判断equals是否为true
* 如果元素的HashCode的值不同,不会调用equals
*
* 注意,对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashCode和equals方法
*
* TreeSet:底层数据结构
*
* Set集合的功能和Collection是一致的
*/
//class Demo{
// public int hashCode() {
// return 60;
// }
//
//}
public class HashSetDemo {
public static void Sop(Object obj) {
System.out.println(obj);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// Demo d1 = new Demo();
// Demo d2 = new Demo();
//
// Sop(d1);
// Sop(d2);
HashSet hs = new HashSet();
Sop(hs.add("java01"));//true
Sop(hs.add("java01"));//false
hs.add("java02");
hs.add("java02");
hs.add("java03");
hs.add("java04");
Sop(hs);//[java04,ava03,java02,java01]
Iterator it = hs.iterator();
while(it.hasNext()) {
Sop(it.next());
}
}
}