将值添加到列表中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);
其次,编写接口程序,而不是实现程序。换句话说,程序使用接口Map
和List
,而不是实施方式HashMap
和ArrayList
。这是众所周知的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