从 Java Map 中删除符合特定条件的所有项目

问题描述 投票:0回答:1

以下情况。我有:

public class Management {

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

    public void deleteAllBooksFromOwner(Owner owner) {
    }
    
    public class Owner {
        private String name;
        // getters
    }

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

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

public void deleteAllBooksFromOwner(Owner owner){
}

我不知道如何联系书主,以供比较。 Getter 可用。

java dictionary collections
1个回答
2
投票

您可以使用

removeIf

public void deleteAllBooksFromOwner(Owner owner) {
    allBooks.entrySet().removeIf(entry -> entry.getValue().getOwner().equals(owner));
}    
© www.soinside.com 2019 - 2024. All rights reserved.