0

我需要搜索HashMap包含一个String, 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.
}
4

2 回答 2

0

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

无法理解 Java 映射条目集

于 2012-10-22T19:17:35.297 回答
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<>();
于 2012-10-22T20:07:41.893 回答