import java.util.*;
public class SetTest {
public Set<Course> setList;
{
setList=new HashSet<Course>();
}
public void testAdd(){
Course c1 =new Course(4,"Add方法添加成功");
setList.add(c1);
}
public void testAddAll(){
Course[] c2 ={new Course(5,"addAll方法添加成功"),new Course(6,"addAll方法添加成功")};
setList.addAll(Arrays.asList(c2));
}
public void blForeach(){
for(Object ob:setList){
Course b3 = (Course) ob;
System.out.println(b3.id+":"+b3.name);
}
System.out.println();
}
}
主函数
System.out.println("集合Set遍历如下");
SetTest s1 = new SetTest();
s1.testAdd();
s1.testAddAll();
s1.testAdd(); //Set集合众的元素无序且不重复,此添加无效
s1.blForeach();
运行结果
集合Set遍历如下
5:addAll方法添加成功
4:Add方法添加成功
4:Add方法添加成功
6:addAll方法添加成功
不是说set集合不能有重复的元素么。。。我这个程序是哪里错了呢?
set添加的是引用 你调用两次add方法 创建了两个Course对象
如果 你是 Course c1 =new Course(4,"Add方法添加成功");
setList.add(c1); setList.add(c1);
这样就添加无效
你