gpt4 book ai didi

java - 如何在 Java 中删除 ArrayList 中的一个重复项

转载 作者:行者123 更新时间:2023-12-01 16:57:35 24 4
gpt4 key购买 nike

我有一个 ArrayList,里面装满了许多相同的书。现在我需要能够实现一种方法 lendBook (String bookName, String lenderName) 来删除此列表中的最后一个。如果我使用 books.get(bookName).remove(book) 什么也不会发生。如果我使用 books.get(bookName).remove(books.get(bookName).get(books.get(bookName).size()-1)) 它会删除整个 ArrayList。感谢您提前提供的帮助。

public class Library extends HashMap {

public Map<String, ArrayList<Book>> books;
protected Map<String, Lender> lenders;

public Library() {
this.books = new HashMap<String, ArrayList<Book>>();
this.lenders = new HashMap<String, Lender>();
}


public void addBook (String bookName){
String key = bookName;
if (books.containsKey(key)){
books.get(key).add(new Book(bookName));
} else {
books.put(bookName, new ArrayList<Book>());
books.get(key).add(new Book(bookName));
}
}

public void addLender (String lenderName) throws java.lang.IllegalStateException {
String key = lenderName;
if (lenders.containsKey(key)){
throw new java.lang.IllegalStateException(lenderName);
} else {
lenders.put(lenderName, new Lender(lenderName));
}
}
}

最佳答案

一种解决方案可能是检查 ArrayList 中的最后一个索引。您可以使用 ArrayList.size() 查看 ArrayList 的大小。例如

int size = ArrayList.size();

然后删除最后一个索引。

关于java - 如何在 Java 中删除 ArrayList 中的一个重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61563589/

24 4 0