我正在尝试为大学的家庭作业创建一个储物柜类和一个长期存储类。他们都应该能够存储一个由我们的老师制作的具有体积和类型的 Item 对象。(而每个储物柜的存储单元数量有限,长期存储的固定数量为1000个单元。我正在尝试决定如何以最佳方式实现存储。我想过创建一个Arrae,因为我知道一般来说,1000个项目的顶部并不多,但我想写出我能写出最好和最有效的代码,并且对它们的顺序并不重要。我们刚刚了解了哈希集,所以我考虑过创建一个哈希集,这使我的程序的运行时变得更好。问题是我需要计算每种类型存储的项目数量,并且集不允许重复。因此,我想也许可以创建一个长度为2的数组哈希集,以跟踪一种类型的项目及其在存储中的数量。
我真的不确定实现这种存储的最佳方法是什么,也许我选择了绝对错误的方式。在我看来,当我想从1000中找到一种特定类型的项目时,简单的数组不是很有效。(如果长期存储中存储了1000个不同类型和体积为1的不同项目)。
一个额外的问题:在这个练习中,我应该使用TDD方法(测试驱动开发),我不确定如何正确实现测试代码。帮助将不胜感激。(应该与 J 单元和断言一起使用)。
我的代码开头的示例:
import oop.ex3.spaceship.*;
import java.lang.reflect.Array;
import java.util.*;
public class Locker {
private static final int TOO_MANY_ITEMS = -1;
private static final int WORKED_WELL = 0;
private static final int MOVED_TO_LONG_TERM = 1;
private final int capacity;
private int currentLoad;
private HashSet<Item> itemsStored;
public Locker(int capacity){
this.capacity = capacity;
this.currentLoad = 0;
itemsStored = new HashSet<>();
}
public int addItem(Item item, int n){
if (currentLoad + n*item.getVolume() < capacity){
}
else{
return this.TOO_MANY_ITEMS;
}
return 0;
}
慕妹3146593
相关分类