關(guān)于Set元素的重復(fù)問題,
package com.web.mooc.collection.coursestu;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/*
?* 學(xué)生類
?*/
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("學(xué)生 " + st.id + " " + st.name + "選擇的課程如下:");
?? ?st.coursesSelected();
??? }
?? ?
??? public void coursesSelected() {
?? ?Course[] cr = { new Course("1", "離散數(shù)學(xué)"), new Course("2", "大學(xué)英語"),
?? ??? ?new Course("3", "Java基礎(chǔ)") };
?? ?Course cr1 = new Course("3", "Java基礎(chǔ)");
?? ?courses.addAll(Arrays.asList(cr));
?? ?courses.addAll(Arrays.asList(cr));
?? ?// 第二次添加"3", "Java基礎(chǔ)"
?? ?courses.add(cr1);
?? ?// 第三次添加"3", "Java基礎(chǔ)"
?? ?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);
?? ?}
?? ?
??? }
}
========================運行結(jié)果===================================
學(xué)生 1005 小明選擇的課程如下:
添加了課程
3Java基礎(chǔ)
1離散數(shù)學(xué)
2大學(xué)英語
3Java基礎(chǔ)
Set中的元素重復(fù)指的是,是不能添加同一個對象的引用,還是不能添加相同內(nèi)容的對象???
2015-04-13
Set是存放的是對象的引用,沒有重復(fù)對象