VextoR:
ありますMap<String, List<String>>
。私はから値を削除したいList
場合はMap
、キーが含まれています。
しかし、それを行うための方法があるのJava 8のスタイルは?多分、コンピューティング、マージまたは他のいくつかの新しいメソッドを使用してような?
古いスタイルの方法で、リストから要素を削除するためのコード:
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;
}
}
チャールズDowbecki:
あなたは使用することができますMap.computeIfPresent()
が、改善は疑問です。
map.computeIfPresent("key1", (k, v) -> { v.remove("a2"); return v; });