gpt4 book ai didi

java - 在 Java 中存储对象集合的最佳方式?

转载 作者:行者123 更新时间:2023-11-29 06:57:10 25 4
gpt4 key购买 nike

我正在为学生信息系统创建一个转储 Java 应用程序,用于学习和实现 OOPS 概念,如继承、抽象、多态和封装。

我正在做的是,我创建了Faculty 类(class)、Student 类(class)和College 类(class)。现在我想在大学里增加新的教师。所以我的方法是在 College 类中创建一个方法,即 addFaculty(Faculty f)fireFaculty(Faculty f),现在我想添加 FacultyCollege 类(class)。

最好的方法是什么?我如何将 Faculty 对象的列表存储在 College 对象中。因为我可以在大学里添加不止一名教员和一名学生。

在 OOPS 中解决这个问题的最佳方法是什么?

这是我实现的 College.java 代码,它工作正常,但这是我解决它的最佳方法吗?

public class College 
{
String name;
String location;
String courses[];
HashMap<String,Faculty> faculties;
int noOfFaculties = 0;
int noOfStudents = 0;

public College(String name,String location,String courses[])
{
this.name = name;
this.location = location;
this.courses = courses;
faculties = new HashMap<>();
}

public void addFaculty(Faculty faculty)
{
faculties.put(faculty.getName(),faculty);
}

public void printFaculties()
{
Set<String> set = faculties.keySet();
if(set.size()>0)
{
for(String s:set)
{
System.out.println(faculties.get(s).getName());
}
}
else
{
System.out.println("No Faculties Currently Working");
}
}

public void fireFaculty(Faculty faculty)
{
faculties.remove(faculty.getName());
}
public String getName()
{
return name;
}

public String getLocation()
{
return location;
}

public String[] getCourses()
{
return courses;
}
}

最佳答案

如果不能重复使用 HashSet<Faculty>如果你不介意使用 List<Faculty> .

例子:

class College {
private List<Faculty> listFactories = new ArrayList<>(); // dupes allowed
private Set<Faculty> setFactories = new HashSet<>(); // no dupes allowed
}

Check collections API .

关于java - 在 Java 中存储对象集合的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32315337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com