0

私は Map を持っていますが、マップの値を ArrayList 型にしたいです

Map m = new HashMap();

キー「A」の値自体が複数の値を持つためです。キー「A」の値は 10、20、30 です。これを達成する方法を教えてください。以下の最初のステップを作成しました。

LinkedHashMap<String,List<String>> A = new LinkedHashMap<String,List<String>>();

次にリストに複数の値を追加し、マップ入力操作と一緒に保存する方法をアドバイスしてください

4

5 に答える 5

0

私が質問を正しく理解している場合、これは私にとって正しい方法のようです。次に行う必要があるのは、次のいずれかです。

List<String> strings = new ArrayList<String>();
strings.add("10");
strings.add("20");
strings.add("30");

A.put(strings);

または、次のことができます。

A.put(Arrays.asList("10", "20", "30"));
于 2013-01-04T09:17:47.310 に答える
0

このような -

LinkedHashMap<String,List<String>> A = new LinkedHashMap<String,List<String>>();
List<String> list = new ArrayList<String>();
list.add("10");
list.add("20");
list.add("30");
A.put("a", list);
于 2013-01-04T09:18:01.047 に答える
0

お気に入り :

List<String> list = new ArrayList<>();
list.add("abc");
list.add("xyz");
// ....

Map<String,List<String>> map = new HashMap<>();
map.put("Key", list);
于 2013-01-04T09:18:05.150 に答える
0

私が知っているように、Apache MultiValueMap を使用できます。それはあなたの要件を満たしています.http://commons.apache.org/collections/apidocs/org/apache/commons/collections/map/MultiValueMap.html

于 2013-01-04T09:19:26.737 に答える
0

ここにプログラムがあります。

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;


public class Test {

    public static void main(String[] args) {
        LinkedHashMap<String,List<String>> A = new LinkedHashMap<String,List<String>>();
        List<String> list = new ArrayList<>();
        list.add("1");
        A.put("1", list);

        //add new values
        list = A.get("1");
        if(list!=null){
            list.add("2");
        }else{
            list = new ArrayList<String>();
            list.add("2");
        }
        A.put("1", list);

    }

}
于 2013-01-04T09:22:29.670 に答える