将值添加到列表中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

我的问题是,如何将新值添加到我现有的键上?因此,例如,如何将值“ Test 4”添加到键“ Tests”上。

谢谢。

回答:

只需从地图上获取列表,然后将元素添加到列表中即可:

ArrayList list = myMap.get("Tests");

list.add("Test4");

关于您的代码,还有一些其他事项需要注意。首先,不要使用raw类型 ArrayList。使用泛型:

HashMap<String, ArrayList<String>> myMap = new HashMap<String, ArrayList<String>>();

ArrayList<String> myList = new ArrayList<String>();

myList.add("Test 1");

myList.add("Test 2");

myList.add("Test 3");

myMap.put("Tests", myList);

其次,编写接口程序,而不是实现程序。换句话说,程序使用接口MapList,而不是实施方式HashMapArrayList。这是众所周知的OO编程原理,例如,如果有必要,例如,它可以更轻松地切换到其他实现。

Map<String, List<String>> myMap = new HashMap<String, List<String>>();

List<String> myList = new ArrayList<String>();

myList.add("Test 1");

myList.add("Test 2");

myList.add("Test 3");

myMap.put("Tests", myList);

最后,提供语法提示:如果您使用的是Java 7或更高版本,则可以使用,<>而不必重复类型参数:

Map<String, List<String>> myMap = new HashMap<>();

List<String> myList = new ArrayList<>();

myList.add("Test 1");

myList.add("Test 2");

myList.add("Test 3");

myMap.put("Tests", myList);

myMap.get("Tests").add("Test 4");

以上是 将值添加到列表中Map中已存在的键 的全部内容, 来源链接: utcz.com/qa/400075.html

回到顶部