从 hashmap 中删除所有符合特定条件的对象

Delete all objects from hashmap that match specific condition

情况如下。我有:

public class Management {

    private HashMap<Integer, Book> allBooks = new HashMap<>();

    public void deleteAllBooksFromOwner(Owner owner) {
    }

    public class Owner {
        private String name;
        // getters
    }

    public class Book {
        private Owner owner;
        // getters
    }
}

我想在管理class中写一个删除书籍的方法:

public void deleteAllBooksFromOwner(Owner owner){
}

我不知道如何访问书主,供我比较。 吸气剂可用。

您可以使用removeIf

public void deleteAllBooksFromOwner(Owner owner) {
    allBooks.entrySet().removeIf(entry -> entry.getValue().getOwner().equals(owner));
}