【发布时间】:2021-09-26 14:34:54
【问题描述】:
我正在为我父亲的艺术业务制作一个简单的簿记程序,以帮助他处理他们的工作流程(一个画廊,有一群艺术家通过一个收银台出售他们的作品),我有点难过我应该去存储我拥有的数据的方向。我目前有一个对象数组列表,用于存储每个艺术家所做的每笔销售。所以它有几百个元素长,每个元素都有关于销售的信息(它不是特定于艺术家的,只是在 2 周内通过登记册的每一次销售)。它是按名称排序的,但理想情况下,我想将其拆分为各个艺术家,以便他们都属于自己的列表,以便更好地访问和控制。
所以现在我被困在最好的方法上,基本上都是一张地图。我在想一个 2D arrayList,第一个维度是为特定艺术家分配的字符串,以便于访问,第二个维度是一个列表,其中包含他们的所有销售,我可以在输入信息时添加到该列表中。
或者我可以使用地图,但是从我所读到的内容中,一个键只能分配一个值,而且我真的不想创建另一个类来存储一堆对象,而 Arraylist 可以做到这一点.我可以用列表作为元素制作地图吗?我根本没有惹过他们。
或者是否有更好的方法来解决所有这些问题?我还没有学习数据结构,所以我基本上是尽我所能使用我的 OOP 知识。我还计划对数据进行序列化,以便可以滚动使用(他们每月获得 excel 报告,我使用 Apache 进行解析),如果这有任何改变的话。
谢谢!
【问题讨论】:
-
我会学习和练习 Trail: Collections 而不是不知所措。
-
我认为 Map
> 是一个很好的数据结构,因为艺术家可以很容易地找到销售额或任何东西,就像你说的那样。如果您只有 List - >,以后可能会引起一些混乱。不过我的意见
-
我建议创建一个包含艺术家姓名等字段的类
Art,然后为Art的每个字段创建一个Map<String,List<Art>>,这样您就可以快速找到所有内容。并制作List<Art>来保存所有艺术作品。如果你想让我写代码作为答案,我会的。 -
@LuckyBandit74 是的,我同意,我可能会走那条路。使用地图也是一种很好的做法。谢谢
-
@Ofek 是的,这可能是最好的方向。我已经有一个 Art 类来存储他们的信息,所以我将使用地图,因为它的实现非常简单。谢谢!
标签: java dictionary arraylist data-structures