Set在Collection基础上没有添加新的功能
1.set中元素的顺序(存放位置)只跟各元素的hashCode有关,
---若元素的类型中没有覆盖hashCode,则使用的是Object中的,
此时就是内存地址(系统随机分配),因此顺序不固定。
2.只有当两个Person对象的hashCode相同且equals方法的返回true时,
set才把这两个对象看成是同一个,后者加不进。
---注意Person类中hashCode()和equals()方法都要写,否则两个对象都能加进去
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import org.junit.Test;
public class SetDemo {
@Test
public void demo1(){
Set set = new HashSet();
set.add("abc");
set.add(3.14);
set.add(100);
set.add('q');
set.add(new Person("Jack",22));
set.add(new Person("Tom",23));
set.add(new Person("Rose",24));
set.add(new Person("Rose",24));
//查
Iterator it=set.iterator();
while(it.hasNext()){
Object obj=it.next();
System.out.println(obj);
}
}
}