我的驱动程序类中有以下两组。如何将学生附加到模块?例如,我只需要模块ufce1上的jane和ufce2上的ufce2和alex。
Student jane = new Student("jane");
Student alex = new Student("alex");
Set<Student> students = new HashSet<Object>();
students.add(jane);
students.add(alex);
Module ufce1 = new Module("UFCE1");
Module ufce2 = new Module("UFCE2");
Set<Module> modules = new HashSet<Object>();
modules.add(ufce1);
modules.add(ufce2);
模块类:
public class Module {
private String name;
public Module(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public String toString() {
return name;
}
}
学生班:
public class Student {
private String name;
public Student(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public String toString() {
return name;
}
}
我尝试使用arrayLists但这会导致重复,即如果用户尝试将学生添加到他们已注册的模块上。
Module m1 = new Module("m1", "Java");
Module m2 = new Module("m2", "Software Design");
Module m3 = new Module("m3", "PHP");
Module m4 = new Module("m4", "MySQL");
Module m5 = new Module("m5", "XML");
ArrayList<Module> modules = new ArrayList<Module>();
modules.add(m5);
modules.add(m4);
modules.add(m3);
modules.add(m2);
modules.add(m1);
jane.addModule(m1);
jane.addModule(m3);
alex.addModule(m1);
alex.addModule(m2);
m1.addStudent(jane);
m3.addStudent(jane);
m1.addStudent(alex);
m2.addStudent(alex);
答案 0 :(得分:4)
我假设Module是一个由你编写的类。
如果是这样,你可以在Module类中有一个Set,并在其中添加addStudent()方法。
public class Module{
private Set<Student> students = new HashSet<Student>();
public void addStudent(Student student){
students.add(student);
}
}