关于Set元素的重复问题,
package com.web.mooc.collection.coursestu;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/*
* 学生类
*/
public class Student {
public String id;
public String name;
public Set<Course> courses;
public Student(String id, String name) {
this.id = id;
this.name = name;
this.courses = new HashSet<Course>();
}
public static void main(String[] args) {
Student st = new Student("1005", "小明");
System.out.println("学生 " + st.id + " " + st.name + "选择的课程如下:");
st.coursesSelected();
}
public void coursesSelected() {
Course[] cr = { new Course("1", "离散数学"), new Course("2", "大学英语"),
new Course("3", "Java基础") };
Course cr1 = new Course("3", "Java基础");
courses.addAll(Arrays.asList(cr));
courses.addAll(Arrays.asList(cr));
// 第二次添加"3", "Java基础"
courses.add(cr1);
// 第三次添加"3", "Java基础"
courses.add(cr1);
System.out.println("添加了课程");
show(courses);
}
public void show(Set<Course> courses) {
for (Course obj : courses) {
System.out.println(obj.id + obj.name);
}
}
}
========================运行结果===================================
学生 1005 小明选择的课程如下:
添加了课程
3Java基础
1离散数学
2大学英语
3Java基础
Set中的元素重复指的是,是不能添加同一个对象的引用,还是不能添加相同内容的对象???