gpt4 book ai didi

java - 多个数据结构中的相同数据 - 正确的方法

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

我正在编写简单的图书管理(图书馆)应用程序,但我确信正确的数据表示。

我有这样的类(class):

Book (isbn, author, title, libraryIdNumber)  
BookDatabase (collection of Books)

在此示例中,BookDatabase 内的主要数据结构是

Map<Integer, Book>  booksById;

其中 key 是图书的唯一图书馆标识符(例如增量 int 值),该值只是 Book 实例。
现在通过ID查找一本书很容易,但是很难找到所有同名的书。所以我需要另一个数据结构,例如

Map<String, List<Book>> booksByTitle;

其中键是书名,值是图书馆中所有具有该书名的书籍的列表(例如 10 册《狮子王》)。

我知道存储此类数据的最佳方法就是数据库,但问题更普遍:
在一个存储类的多个数据结构中存储相同的数据是否可以,或者内存效率低下?或者也许最好在实际需要时获取数据的附加表示(例如通过调用 Map.values() 方法)?
您认为在这种情况下最好的方法是什么?

最佳答案

Is it ok to store the same data in many data structures inside one storage class or it is memory inefficient?

是的。您只需复制对 Book 对象的引用,而不是实际的 Book 对象本身 - 因此它是内存高效的。

附注您说得对,数据库会更好:例如,它使查询变得非常容易。

关于java - 多个数据结构中的相同数据 - 正确的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25024600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com