0

を使用してマップにArrayListを作成します

Map <String, ArrayList<String>> firmMSAMap = new HashMap<String, ArrayList<String>>() ;

このマップ内の ArrayList に要素を追加するにはどうすればよいですか? 宣言が間違っている場合は修正してください。ArrayList を含む Map を取得しようとしています

4

4 に答える 4

7

fooStringをキーとする ArrayListに String を追加しbazます。

firmMSAMap.get("baz").add("foo");

上記のコードは次のことを行います。

  1. キーで格納された ArrayList を取得しますbaz
  2. ArrayList に文字列を追加します

注:これは、Map に ke `baz の値が既に含まれていることを前提としています。

それ以外の場合は、次のように新しい ArrayList を作成する必要があります。

firmMSAMap.put("baz", new ArrayList<String>());

値が最初にマップされているかどうかを確認するより良い例を次に示します。

Map<String, List<String>> theMap = ...

if (theMap.containsKey("baz")) {
    theMap.get("baz").add("foo");
}
else {
    List<String> tempList = new ArrayList<String>();
    tempList.add("foo");
    theMap.put("baz", tempList);
}
于 2013-02-25T19:12:49.637 に答える
1

getマップとadd要素からそのArrayListが必要です

firmMSAMap.get("your List key").add("new element of list");

ただし、もちろん、それを行うには、最初にその「リストキー」-> ArrayList ペアをマップに含める必要があるため、そのput前にそこにある必要があります

firmMSAMap.put("your List key", new ArrayList<String>());
于 2013-02-25T19:13:12.097 に答える
0

新しい ArrayList オブジェクトを定義し、キーで配置する必要があります

于 2013-02-25T19:12:20.230 に答える
-1

これにより、String キーが ArrayList 値にマップされます。したがって、キー「foo」に ArrayList が必要な場合は、次のようにします。

firmMSAMap.put("foo", new ArrayList<String>());
于 2013-02-25T19:13:16.823 に答える