import java.util.*;
class Test {
public static void main
(String[] args
) {
List
<String
> strings
= new ArrayList
<>(Arrays.
asList("The quick brown fox jumps over the lazy dog".
split(" "))); lengthMap.computeIfAbsent(s, k -> new ArrayList<>()).add(s);
}
Set<String> toRemove = lengthMap.keySet();
System.
out.
println("List before: " + strings
); System.
out.
println("Set to remove: " + toRemove
);
strings.removeAll(toRemove);
System.
out.
println("List after:" + strings
); }
}
aW1wb3J0IGphdmEudXRpbC4qOwpjbGFzcyBUZXN0IHsKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICBUcmVlTWFwPFN0cmluZywgTGlzdDxTdHJpbmc+PiBsZW5ndGhNYXAgPSBuZXcgVHJlZU1hcDw+KENvbXBhcmF0b3IuY29tcGFyaW5nSW50KFN0cmluZzo6bGVuZ3RoKSk7CgogICAgTGlzdDxTdHJpbmc+IHN0cmluZ3MgPSBuZXcgQXJyYXlMaXN0PD4oQXJyYXlzLmFzTGlzdCgiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZyIuc3BsaXQoIiAiKSkpOwogICAgZm9yIChTdHJpbmcgcyA6IHN0cmluZ3MpIHsKICAgICAgbGVuZ3RoTWFwLmNvbXB1dGVJZkFic2VudChzLCBrIC0+IG5ldyBBcnJheUxpc3Q8PigpKS5hZGQocyk7CiAgICB9CgogICAgU2V0PFN0cmluZz4gdG9SZW1vdmUgPSBsZW5ndGhNYXAua2V5U2V0KCk7CgoJU3lzdGVtLm91dC5wcmludGxuKCJMaXN0IGJlZm9yZTogIiArIHN0cmluZ3MpOwogICAgU3lzdGVtLm91dC5wcmludGxuKCJTZXQgdG8gcmVtb3ZlOiAiICsgdG9SZW1vdmUpOwoKICAgIHN0cmluZ3MucmVtb3ZlQWxsKHRvUmVtb3ZlKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTGlzdCBhZnRlcjoiICsgc3RyaW5ncyk7CiAgfQp9Cg==
List before: [The, quick, brown, fox, jumps, over, the, lazy, dog]
Set to remove: [The, over, quick]
List after:[]