為什么這個set數(shù)組中元素重復(fù)了?
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();
?}
}
主函數(shù)
System.out.println("集合Set遍歷如下");
??SetTest s1 = new SetTest();
??s1.testAdd();
??s1.testAddAll();
??s1.testAdd();? //Set集合眾的元素?zé)o序且不重復(fù),此添加無效
??s1.blForeach();
運(yùn)行結(jié)果
集合Set遍歷如下
5:addAll方法添加成功
4:Add方法添加成功
4:Add方法添加成功
6:addAll方法添加成功
不是說set集合不能有重復(fù)的元素么。。。我這個程序是哪里錯了呢?
2016-02-21
? set添加的是引用 你調(diào)用兩次add方法 創(chuàng)建了兩個Course對象?
如果 你是? ? Course c1 =new Course(4,"Add方法添加成功");
??setList.add(c1);? setList.add(c1);
這樣就添加無效??
你