从 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));
}
情况如下。我有:
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));
}