Java - 将字符串列表传递给哈希映射的值

Java - 将字符串列表传递给哈希映射的值

问题描述:

我想设置一个哈希映射将键作为字符串和列表数组作为值。可能吗?以及如何将列表设置为值?Java - 将字符串列表传递给哈希映射的值

HashMap<String, List<String>> foo = new HashMap<String, List<String>>(); 
foo.put("key1",{"key1_value1","key1_value2"}); 

你必须使用一个数据结构一样ArrayList或者仅仅是一个数组可能表示字符串作为值的列表。

  • 您可以使用一个List以下;

    foo.put("key", Arrays.asList("key1_val1", "key1_val2")); 
    

    foo哪里是类型的Map<String, List<String>>

  • 或者你使用阵列的以下;

    foo.put("key", new String[]{"key1_val1", "key1_val2"}); 
    

    其中foo的类型是Map<String, String[]>

你可以做以下

Map<String, List<String>> foo = new HashMap<String, List<String>>(); 
List<String> list = new ArrayList<String>(); 
list.add("key1_value1"); 
list.add("key1_value2"); 
foo.put("key1",list); 

foo.put("key", Arrays.asList("key1_val1", "key1_val2")); 

Map<String, List<String>> foo = new HashMap<String, List<String>>(); 
List<String> list = new ArrayList<String>(); 
list.add("value1"); 
list.add("value2"); 
foo.put("key1", list); 

for (Entry<String, List<String>> entry : foo.entrySet()) { 
    String key = entry.getKey(); 
    List<String> valueList = entry.getValue(); 

    System.out.println("key = " + key); 
    for (String value : valueList) { 
     System.out.println("value = " + value); 
    } 
} 

输出

key = key1 
value = value1 
value = value2