我需要搜索包含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.
}
答案 0 :(得分:0)
我不确定该怎么做,但几天前我问了一个关于地图输入集和使用'?'的问题。允许多种类型。我接受的答案得到了很好的解释并附带了一个例子。可能会帮助你。
答案 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<>();