当前位置: 代码迷 >> java >> 在这种情况下使用什么Java集合?
  详细解决方案

在这种情况下使用什么Java集合?

热度:63   发布时间:2023-07-27 09:35:16.0

我是Java的新手,正在试图弄清楚使用哪个Java集合将从JSON获得的值扁平化为Java集合,但不知道使用哪个集合。 这是我从JSON获得的内容:

用户:Tim产品:啤酒

用户:Tim产品:面包

用户:添品:牛奶

用户:Tim产品:肥皂

用户:迈克尔产品:肥皂

用户:Michael产品:咖啡

用户:Michael产品:汽车

用户:Wayne产品:面包

用户:Wayne产品:肥皂

如您所见,我的用户有以下产品:Tim:啤酒,面包,牛奶,肥皂Michael:肥皂,咖啡,Car Wayne:面包,肥皂

什么是最好的收藏品来存储这些商品,以便我可以确定一个用户拥有的所有产品?

例如,通过提供Key = Michael,我将获得Soap,Coffee,Car。

非常感激,

我会使用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

取决于您的数据用例。 似乎地图是个不错的选择。

  相关解决方案