【发布时间】:2015-07-31 17:42:49
【问题描述】:
我正在尝试创建一个非常简单的预订系统来练习 TDD。我最初尝试了一个 ArrayList ,它有一组代表时间的空格,然后是一个 Map ,两者看起来都很接近,但最终都没有奏效。 不变性是关键,我使用构造函数来设置容量,并试图让设置器依赖于字符串值的空字符串或可空性(都尝试过):
public class BookingSystem {
private BookingSystem bookingSystem;
private Map<Integer, String> classList;
public HashMap<Integer, String> setClassList() {
for (int i=0;i<24; i++) {
classList.put(0, "");
}
return classList;
}
public void bookClassroom(int time, String room) throws BookedException {
if (classList.get(time).equals("")) {
classList.put(time, room);
} else {
throw new BookedException();
}
}
这似乎是一种 hack,但对我来说似乎也是合乎逻辑的。 HashMap 是否矫枉过正,一个简单的列表或数组就足够了吗?我已经尝试了所有这些,但还没有完全成功,现在我觉得我现在过度陷入了许多 Java 数据结构中。
下一步是让 Classrooms 成为自己的类和枚举,但首先我必须掌握基础知识!
- 编辑:被困在防火墙后面,不允许我评论其他人的帖子。数组/列表/地图的每个索引应该足够“一个小时”。该列表将是 8 或 24 个索引长(没关系,因此性能不是问题)。
【问题讨论】:
-
争论太多了,伙计...我敢肯定,我们中的一个人在表达想法时会有一种不同且独特的设计...
标签: java list dictionary types hashmap