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 に答える