首页 > 解决方案 > 每个对象实例的单独列表

问题描述

我正在创建一个图书馆项目。我在实现一种逻辑时遇到问题。假设我将有 2 个库用户:user1 和 user2。我想要一个方法 borrowBook() ,它将使用:

ArrayList<Book> borrowedBooks = new ArrayList<>();

每次用户借书时,它都会被添加到列表中。问题是我知道如何使用静态为所有用户制作一个列表并且它有效,但我想为每个用户制作一个单独的列表。因此,例如,如果 user1 和 user2 将借同一本书,那很好,但如果 user1 将同一本书借两次,那就不行了,它会显示信息:“先给这本书,然后再借”或类似的东西这个。知道如何实现吗?

谢谢

标签: javaooparraylist

解决方案


您可以将 Map 的键作为用户,将值作为该用户的借书列表。

Map<User, List<Book>>

就像@Govi S 提到的那样,您可以确定该用户是否已经借了书。


推荐阅读