Setzen Sie sich einfach die Liste aus der Karte und dann das Element zur Liste hinzufügen:
ArrayList list = myMap.get("Tests");
list.add("Test4");
Es gibt einige andere Dinge, die über Ihren Code bemerkt werden kann. Zunächst einmal don't use the raw typeArrayList
. Verwenden Sie Generics:
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);
Zweitens Programm zu Schnittstellen, nicht Implementierungen. Mit anderen Worten, Programm unter Verwendung der Schnittstellen Map
und List
anstelle der Implementierungen HashMap
und ArrayList
. Dies ist ein bekanntes OO-Programmierprinzip, das es beispielsweise erleichtert, bei Bedarf auf eine andere Implementierung umzusteigen.
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);
Schließlich wird ein Syntax-Tipp: wenn Sie mit Java 7 oder neuer Sie <>
verwenden können, und Sie müssen nicht die Art Argumente wiederholen:
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");
'myMap.get ("Tests"). Add ("Test 4")' – dabadaba
Warum Sie ist 'eine rohe Art ArrayList'? ** Benutze niemals Rawtypes. –