Есть Map<String, List<String>>
. Я хочу удалить значение из List
, если Map
содержит ключ.
Но есть ли способ сделать это в стиле Java 8 ? Как, например, использование compute, merge или какой-то другой новый метод?
Код для удаления элемента из списка в старом стиле:
public class TestClass {
public static void main(String[] args) {
Map<String, List<String>> map = new HashMap<>();
map.put("key1", getList());
map.put("key2", getList());
//remove
if (map.containsKey("key1")) {
map.get("key1").remove("a2");
}
System.out.println(map);
}
public static List<String> getList(){
List<String> arr = new ArrayList<String>();
arr.add("a1");
arr.add("a2");
arr.add("a3");
arr.add("a4");
return arr;
}
}