Как я могу связать объекты одного класса с объектами другого класса в Java? - PullRequest
1 голос
/ 25 мая 2019

Я очень новичок в программировании, и мне нужна помощь с домашним заданием. Я хотел бы знать, возможно ли следующее, и как. Допустим, у меня есть 2 класса, class Course и class Student. Многие объекты могут родиться из этих классов, например:

Course 1 obj Course 2 obj

Student 1 obj Student 2 obj Student 3 obj Student 4 obj

Мой вопрос: как я могу связать объекты Student class с объектами Course class? Я хочу сделать что-то вроде этого:

Course 1 obj: имеет объекты Student 1, 2, 4
Course 2 obj: имеет объекты Student 2, 4

Наш учитель сказал, что мы должны создать еще один класс, который содержит Student objects для каждого Course object, но я не понимаю, как я должен это сделать.

На данный момент я создал Student objects и сохранил их в ArrayList. Я сделал то же самое с Course objects. Но я действительно застрял, как связать одно с другим.

Ответы [ 2 ]

2 голосов
/ 25 мая 2019

Если я правильно понял вопрос, вы хотите отобразить Курс на Студент (или список студентов) . Есть несколько способов сделать это, и один из них - использовать Hashtable . В самом простом смысле Hashtable - это таблица пар ключ / значение, в которой каждый ключ сопоставлен / связан со значением.

образец общего кода, связанный с данными, предоставленными вами:

ArrayList<Student> list1 = new ArrayList<Student>();
list1.add(Student1);
list1.add(Student2);
list1.add(Student4);

ArrayList<Student> list2 = new ArrayList<Student>();
list1.add(Student2);
list1.add(Student4);

Hashtable<Course,ArrayList<Student>> hashTable = new 
Hashtable<Course,ArrayList<Student>>();

hashTable.put(Course1,list1);
hashTable.put(Course2,list2);

Чтобы связать значение (в данном случае список учеников) с ключом (в данном случае курсом), вам просто нужно вызвать метод get (Key)

ArrayList<Student> list3 = hastTable.get(Course1);//this will return the value(list1) mapped/linked to the key(Course1)

для получения дополнительной информации о Hashtable см. https://docs.oracle.com/javase/10/docs/api/java/util/Hashtable.html

1 голос
/ 25 мая 2019

Я думаю, вам нужно создать Course class, а затем создать внутри него список (ArrayList) учащихся (Student класс).Этот класс Student является другим классом, который используется только внутри Course.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...