2012-10-22 160 views
0

我需要通过包含的任String, ArrayList<Users>String, HashSet<Users>对于给定的值的键/值的HashMap进行搜索。我不确定如何编写代码来在java中执行此操作。搜索一个HashMap <字符串,ArrayList的<Users>>或HashMap中<字符串,HashSet的<Users>>

我宣布..

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

你的代码是不syntatically正确。您可以请在这里发布您的真实代码请 – smk

+0

此外,您的问题是模糊的。请告诉你已经尝试了什么。 – smk

回答

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<>(); 
+0

这工作。谢谢! – user1741700

0

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

Trouble understanding Java map Entry sets

+0

我来看看。 – user1741700

相关问题