问题描述
我是Java的新手,正在试图弄清楚使用哪个Java集合将从JSON获得的值扁平化为Java集合,但不知道使用哪个集合。 这是我从JSON获得的内容:
用户:Tim产品:啤酒
用户:Tim产品:面包
用户:添品:牛奶
用户:Tim产品:肥皂
用户:迈克尔产品:肥皂
用户:Michael产品:咖啡
用户:Michael产品:汽车
用户:Wayne产品:面包
用户:Wayne产品:肥皂
如您所见,我的用户有以下产品:Tim:啤酒,面包,牛奶,肥皂Michael:肥皂,咖啡,Car Wayne:面包,肥皂
什么是最好的收藏品来存储这些商品,以便我可以确定一个用户拥有的所有产品?
例如,通过提供Key = Michael,我将获得Soap,Coffee,Car。
非常感激,
1楼
我会使用Multimap,因为一个人可能有多个产品。
您可以在以下位置找到一个非常简单的示例: :
因此您可能会遇到类似以下的情况:
Multimap<String,String> myMap = new Multimap<>();
myMap.put("Tim", "Beer");
myMap.put("Tim", "Bread");
myMap.put("Tim", "Milk");
然后查看与Tim相关的产品:
List<String> products = myMap.get("Tim");
for(String product: products){
System.out.println(product);
}
这将打印
Beer
Bread
Milk
2楼
取决于您的数据用例。 似乎地图是个不错的选择。