给我用hashset和hashmap写个JAVA的购物车管理系统
时间: 2024-05-14 22:18:13 浏览: 139
好的,下面是一个简单的JAVA购物车管理系统,使用了HashSet和HashMap:
```
import java.util.*;
public class ShoppingCart {
private HashMap<String, Integer> items;
private HashSet<String> availableItems;
public ShoppingCart() {
items = new HashMap<String, Integer>();
availableItems = new HashSet<String>();
}
public void addItem(String item, int quantity) {
if (availableItems.contains(item)) {
if (items.containsKey(item)) {
quantity += items.get(item);
}
items.put(item, quantity);
} else {
System.out.println("Item not available for purchase.");
}
}
public void removeItem(String item) {
items.remove(item);
}
public void setAvailableItems(String... availableItemsArray) {
availableItems.addAll(Arrays.asList(availableItemsArray));
}
public void displayCart() {
System.out.println("Shopping Cart Contents:");
for (Map.Entry<String, Integer> item : items.entrySet()) {
System.out.println(item.getKey() + " - " + item.getValue());
}
}
public static void main(String[] args) {
ShoppingCart cart = new ShoppingCart();
cart.setAvailableItems("apple", "orange", "banana");
cart.addItem("apple", 3);
cart.addItem("orange", 2);
cart.addItem("banana", 1);
cart.addItem("pineapple", 2);
cart.displayCart();
cart.removeItem("orange");
cart.displayCart();
}
}
```
这个系统使用了一个HashMap来存储购物车中的物品和它们的数量,以及一个HashSet来存储所有可购买的物品。addItem() 方法会检查物品是否可购买,如果是,则将物品和数量添加到购物车中。removeItem() 方法会从购物车中删除指定的物品。displayCart() 方法会将购物车中的所有物品和它们的数量打印出来。在 main() 方法中,我们创建了一个 ShoppingCart 对象,并添加了一些物品到购物车中,然后从购物车中删除了一个物品,最后打印出购物车的内容。
阅读全文