傍晚!
我有以下Map:
HashMap<String, ArrayList> myMap = new HashMap<String, ArrayList>();
然后我添加了以下数据:
ArrayList myList = new ArrayList();
myList.add("Test 1");
myList.add("Test 2");
myList.add("Test 3");
myMap.put("Tests", myList);
这给我留下了以下数据:
关键:测试
值:测试1、测试2、测试3
我的问题是,如何在已经存在的键上添加新值?例如,如何将值“test4”添加到键“tests”上。
谢谢。
3条答案
按热度按时间sgtfey8w1#
我建议使用
Map#computeIfAbsent
,以始终确保检索List
从Map上看:这意味着如果Map不包含
key
,它将使用提供的lambda为键生成一个新值并返回该值。nnt7mjpx2#
只需从Map中获取列表,然后将元素添加到列表中:
关于你的代码还有其他一些值得注意的地方。首先,不要使用原始类型
ArrayList
. 使用泛型:第二,程序到接口,而不是实现。换句话说,程序使用接口
Map
以及List
而不是实现HashMap
以及ArrayList
. 这是一个众所周知的oo编程原则,例如,如果需要的话,可以更容易地切换到不同的实现。最后,一个语法提示:如果您使用的是Java7或更新版本,那么您可以使用
<>
您不必重复类型参数:6jjcrrmo3#