0

重複の可能性:
リストから値を削除する

私はこのようなマップを持っているクエリを持っています

 Map ab = new HashMap<String, List<String>>();

そして、このような値が含まれています

  1  22 23 24 25

1 がキーで、値は 22,23,24,25 です

今、私は構造を変えたい

このような

 1 22 23 24 25 | M

上記のように、22,23,24,25 以外のリストにパイプを保存したい |M また、これを達成する方法を教えてください

4

4 に答える 4

1

あなたはちょうど使用することができます((List<String>)ab.get("1")).add("|M")

編集: の生のマップであるため、変更されました<Object, Object>。これは未チェックのキャストであることに注意してください。含まれるものがわかっている場合は、生の型を使用しないでくださいMap。チェックされていないキャストを回避する別の方法は、instanceof演算子を使用することです。

于 2013-01-23T07:55:40.537 に答える
0

したがって、Swapnilの答えに基づいて構築します:

Map<String,List<String>> ab = new HashMap<String, List<String>>();

List<String> valueList = ab.get("1");
if (valueList == null) {
  valueList = new ArrayList<String>();
  ab.put("1",valueList);
}
valueList.add ("|M");
于 2013-01-23T08:35:06.767 に答える
0

これを試して

Map ab = new HashMap<String, List<String>>();
        ab.put("1", "22 23 24 25");
        Iterator it = ab.entrySet().iterator();

            if (ab.containsKey("1")) {
                String value = (String) ab.get("1");
                value += "| M";
                ab.put("1", value);
            }

        System.out.println(ab.get("1"));
于 2013-01-23T08:19:36.603 に答える
-1

Create a new list with the values and put it on map with the same key, it will get replaced.

于 2013-01-23T07:55:59.257 に答える