【发布时间】:2017-04-07 01:59:44
【问题描述】:
我正在尝试将哈希图设置为将键作为字符串,将列表数组作为值。可能吗?以及如何将列表设置为值?
HashMap<String, List<String>> foo = new HashMap<String, List<String>>();
foo.put("key1",{"key1_value1","key1_value2"});
【问题讨论】:
我正在尝试将哈希图设置为将键作为字符串,将列表数组作为值。可能吗?以及如何将列表设置为值?
HashMap<String, List<String>> foo = new HashMap<String, List<String>>();
foo.put("key1",{"key1_value1","key1_value2"});
【问题讨论】:
您可以执行以下操作
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"));
【讨论】:
您必须使用像 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("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
【讨论】: