我是Java新手,我正试图找出哪些Java集合可以将我从JSON获得的值扁平化为Java集合,但不知道要使用哪个集合。以下是我从JSON获得的信息:
用户: Tim产品:啤酒
用户: Tim产品:面包
用户: Tim产品:牛奶
用户: Tim产品: Soap
用户: Michael产品: Soap
用户:迈克尔产品:咖啡
用户: Michael产品:汽车
用户:韦恩产品:面包
用户:韦恩产品:肥皂
如你所见,我的用户有以下产品:提姆:啤酒,面包,牛奶,肥皂迈克尔:肥皂,咖啡,汽车韦恩:面包,肥皂
什么是最好的集合用来存储这些,这样我就可以确定所有的产品持有一个用户?
例如,通过提供Key=Michael,我将得到Soap、Coffee和Car。
非常感谢,
发布于 2015-07-16 21:46:41
取决于你对数据的使用。看上去地图是个不错的选择。
发布于 2015-07-16 21:48:20
我会使用Multimap,因为一个人可能有多个产品。
您可以在以下站点找到一个非常简单的示例:http://www.leveluplunch.com/java/examples/guava-multimap-example/
所以你可能最终会有这样的结果:
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
Milkhttps://stackoverflow.com/questions/31465016
复制相似问题