我想設置一個哈希映射將鍵作爲字符串和列表數組作爲值。可能嗎?以及如何將列表設置爲值?Java - 將字符串列表傳遞給哈希映射的值
HashMap<String, List<String>> foo = new HashMap<String, List<String>>();
foo.put("key1",{"key1_value1","key1_value2"});
我想設置一個哈希映射將鍵作爲字符串和列表數組作爲值。可能嗎?以及如何將列表設置爲值?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