如何在Java中将一个类的对象链接到另一个类的对象?

时间:2019-05-25 19:26:45

标签: java class object

我对编程非常陌生,我需要一些作业帮助。我想知道以下情况是否可行以及如何实现。 假设我有2个类,class Courseclass 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 124
Course 2 obj:具有对象Student 24

我们的老师说我们应该创建另一个类,为每个Student objects容纳Course object,但是我不知道我该怎么做。

到目前为止,我已经创建了Student objects并将它们存储在ArrayList中。我对Course objects做过同样的事情。 但是我真的迷住了如何链接到另一个。

2 个答案:

答案 0 :(得分:2)

如果我的问题正确,您想将课程映射到学生(或学生名单)。 有几种方法可以做到这一点,其中一种是使用 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)

有关哈希表的更多信息,请参见https://docs.oracle.com/javase/10/docs/api/java/util/Hashtable.html

答案 1 :(得分:1)

我认为您正在寻找的是创建一个Course class,然后在其中创建一个学生列表(ArrayList)(Student类)。这个Student类是一个不同的类,仅在Course内部使用。