【发布时间】:2019-05-05 03:09:31
【问题描述】:
我正在尝试查找多个 HashMap 是否为空。
提供一些上下文。我在这里声明了一个 hashmap。
static Map<Integer, College> tblColleges = new HashMap<Integer, College>();
对于每个大学对象:
Map<Integer, Department> tblDepartments = new HashMap<Integer, Department>();
我正在尝试添加专业。专业只能作为部门的属性存在。
这是我现在拥有的。
int numberofColleges = Databases.tblColleges.size();
int emptyColleges = 0;
for(int key: Databases.tblColleges.keySet()) {
if(Databases.getTblColleges(key).tblDepartments.isEmpty()) {
emptyColleges++;
}
}
if(numberofColleges == emptyColleges) {
System.out.println("Invalid. Requires at least 1 department.");
}
如果至少有 1 所大学有部门,我应该只能创建专业。
基本上对于 tblColleges 中存在的每个大学对象,我正在检查它的部门哈希图是否为空。如果它是空的,那么我增加空大学的数量。
之后,我将大学对象的数量与找到的空大学对象的数量进行比较,如果它们相等,则打印一个错误。
我想知道是否有更好更有效的方法来做到这一点,也许使用一些我不熟悉的函数而不是使用变量。
【问题讨论】:
-
您在寻找
tblColleges.isEmpty()吗? -
不一定,我已经在上面展示了。仅仅拥有它的问题是,可能存在这样一种情况,即我可能有多个学院存在但还没有部门。