【发布时间】:2021-12-21 16:58:12
【问题描述】:
我想将我的 ArrayLists 更改为 HashMaps。下面是我的代码,它获取食物并返回其价格。我有一个餐厅的 ArrayList,menuList。 Restaurant 类包含一个菜单,目前也是一个 ArrayList。我想查找一个 foodItem 字符串,它可能在任何餐厅(并且存在并且是该餐厅独有的)。我认为最好的菜单是 HashMap,包含菜单类型的 HashMap 菜单看起来如何?我最好也存储餐厅的 HashMap,而不是 ArrayList?那么我的查找会有什么不同?
餐厅类:
public class Restaurant {
String name;
String location;
ArrayList<Menu> menu;
public int getCost(String foodItem) {
for (Menu item : menu) {
if (item.item.equals(foodItem)) {
return item.pence;
}
}
return 0;
}
}
菜单类:
public class Menu {
String item;
int cost;
}
其他地方返还费用的方法:
for (Restaurant i : menuList) {
for (Menu items : i.menu) {
if (Objects.equals(items.item, foodItem))
cost += i.getCost(foodItem);
}
}
【问题讨论】: