搜索HashMap <string,arraylist <users =“”>&gt;或HashMap <string,hashset <users =“”>&gt; </string,> </string,>

时间:2012-10-22 19:11:52

标签: java arraylist hashmap

我需要搜索包含HashMapString, ArrayList<Users>的键/值的String, HashSet<Users>作为给定值。我不确定如何在java中编写代码来执行此操作。

我宣布..

private HashMap<String, ArrayList<Users>> cm = new HashMap<>();

我需要调用搜索的方法看起来像这样......

public void doSomething(User u, String product) {

}

所以我不确定方法中的代码是如何工作的。

if (cm.containsKey(product) {
   //This is where I'm unsure if I find the key on how to check if the ArrayList has a 
   particular user. And then if not how to add them.
}

2 个答案:

答案 0 :(得分:0)

我不确定该怎么做,但几天前我问了一个关于地图输入集和使用'?'的问题。允许多种类型。我接受的答案得到了很好的解释并附带了一个例子。可能会帮助你。

Trouble understanding Java map Entry sets

答案 1 :(得分:0)

您的User添加方法可能如下所示:

public void doSomething(User user, String product) {
   if (cm.containsKey(product)) {
      List<User> list = cm.get(product);
      if (!list.contains(user)) {
         list.add(user);
      }
   }
}

这假设您使用单个HashMap类型定义User

HashMap<String, ArrayList<User>> cm = new HashMap<>();