我有一个带有一些条目的ArrayList作为HashMap中的值,如何向其中添加新值?
谢谢。是这样的:
Map<String, ArrayList<String>> index = new HashMap<String, ArrayList<String>>();
void add(String kword, String... urls){
if(index.containsKey(kword)){
index.get(kword).addAll(Arrays.asList(urls));
} else {
index.put(kword, (ArrayList<String>) Arrays.asList(urls));
}
}
Run Code Online (Sandbox Code Playgroud)
假设您符合以下要求:
Map<K, ArrayList<V>> map = new HashMap<K, ArrayList<V>>();
Run Code Online (Sandbox Code Playgroud)
那么这应该允许您将新值添加到地图中作为值包含的任何列表中:
map.get(listKey).add(newValue);
Run Code Online (Sandbox Code Playgroud)
当然,您也可以将结果存储map.get(listKey)到一个临时变量中,以避免map.get()插入多个值时的开销:
List<V> list = map.get(listKey);
for (V value : newValues)
list.add(value);
Run Code Online (Sandbox Code Playgroud)