Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何附着来自不同集合的对象_Java - Fatal编程技术网

Java 如何附着来自不同集合的对象

Java 如何附着来自不同集合的对象,java,Java,我的驾驶课上有以下两套。如何将学生附加到模块?例如,我只需要模块ufce1和ufce2上的jane和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 =

我的驾驶课上有以下两套。如何将学生附加到模块?例如,我只需要模块ufce1和ufce2上的jane和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 Student {
    private String name;


    public Student(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    @Override
    public String toString() {
        return name;
    }
}
我尝试使用ArrayList,但这些都会导致重复,即如果用户尝试将学生添加到他们已经注册的模块中

    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);
modulem1=新模块(“m1”、“Java”);
模块m2=新模块(“m2”,“软件设计”);
模块m3=新模块(“m3”、“PHP”);
模块m4=新模块(“m4”、“MySQL”);
模块m5=新模块(“m5”、“XML”);
ArrayList模块=新的ArrayList();
模块。添加(m5);
模块。添加(m4);
增加模块(m3);
模块。增加(m2);
模块。添加(m1);
jane.addModule(m1);
jane.addModule(m3);
addModule(m1);
alex.addModule(m2);
m1.addStudent(jane);
m3.addStudent(jane);
m1.addStudent(alex);
m2.addStudent(alex);

我假设模块是您编写的类

如果是这样,您可以在模块类中有一个集合,还可以在其中添加addStudent()方法

public class Module{
    private Set<Student> students = new HashSet<Student>();
    public void addStudent(Student student){
          students.add(student);
    }

}
公共类模块{
private Set students=new HashSet();
公立学校学生(学生){
学生。添加(学生);
}
}

什么是
模块
?是你自己写的课吗?这个问题无法回答,因为我们不知道班级
模块
和班级
学生
,我们也不知道这些课程应该如何使用。为什么不使用
集合
而不是
集合
?将学生附加到模块是什么意思?我曾尝试使用ArrayList,但效果很好,直到我想将一名学生附加到一个模块,这样就可以将一名学生附加到一个模块上两次。长话短说,我从一开始就开始了,我发现使用JavaAPI很难理解集合,并且找不到任何internet将不同集合中的对象连接在一起的示例。
public class Module{
    private Set<Student> students = new HashSet<Student>();
    public void addStudent(Student student){
          students.add(student);
    }

}