【发布时间】:2017-05-18 02:54:00
【问题描述】:
我正在尝试创建一个字典类型记录,例如保存 key="Book name" 和 value= (key="price": $250, key="qty": 10)。实现这一目标的最简单方法是 Java 吗?我已经尝试为它们的值创建一个单独的类对象。
public class book_info {
int price = 0;
int qty = 0;
public void book_info(int qty, int price){
this.qty = qty;
this.price = price;
}
}
并创建一个 HashMap 实例;
Map <String, book_info> items = new HashMap<String, book_info>();
items.put("Book1", new book_info(600, 20));
items.put("Book2", new book_info(200, 30));
items.put("Book3", new book_info(100, 50));
这很好用,但是有没有其他替代方法,不使用单独的类对象,而是像这样在 HashMap 的初始化中添加多个键值对;
Map <String, <<String, Integer>,<String, Integer>>> items = new HashMap<String, <<String, Integer>,<String, Integer>>>();
【问题讨论】:
-
您最好的方法是使用 OO 并对域进行建模,就像您开始做的那样。但是,我还要为
BookInfo对象添加一个标题。它还为您在未来提供了更大的灵活性。 -
我认为您正在寻找
Map<String, Map<String, Integer>>。但是你现在拥有的要好得多。