我有一个 Map ,但我希望地图的值是 ArrayList 类型
Map m = new HashMap();
因为键“A”的值本身将具有多个值,例如。键“A”的值是 10,20,30 请告知如何实现这一点,我在下面创建了第一步
LinkedHashMap<String,List<String>> A = new LinkedHashMap<String,List<String>>();
请告知如何在下一个列表中添加多个值并将其与 Map 一起存储在 put 操作中
我有一个 Map ,但我希望地图的值是 ArrayList 类型
Map m = new HashMap();
因为键“A”的值本身将具有多个值,例如。键“A”的值是 10,20,30 请告知如何实现这一点,我在下面创建了第一步
LinkedHashMap<String,List<String>> A = new LinkedHashMap<String,List<String>>();
请告知如何在下一个列表中添加多个值并将其与 Map 一起存储在 put 操作中
这是一个程序。
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);
}
}
据我所知,您可以使用 Apache MultiValueMap。它符合您的要求。 http://commons.apache.org/collections/apidocs/org/apache/commons/collections/map/MultiValueMap.html
如果我正确理解了这个问题,那么这对我来说似乎是正确的方法,那么您需要做的就是:
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"));
像这样 -
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);
喜欢 :
List<String> list = new ArrayList<>();
list.add("abc");
list.add("xyz");
// ....
Map<String,List<String>> map = new HashMap<>();
map.put("Key", list);