我开始在java中投资项目,我需要一个好的数据结构来满足它的要求。我在这里看到了一些类似的问题,但有不同的要求。我应该使用哪种数据结构来处理多值数据?
我的要求如下:
A公司对象有一个符号,公司名称,部门和财务数据字段。
搜索特定公司需要符号或公司名称。
首先,我想和符号创建地图的关键和公司名称作为值(为简单起见,假设我的收获从这里的数据: http://data.okfn.org/data/core/s-and-p-500-companies/r/constituents.csv),但后来我有一个第二个想法,因为符号和公司名称都是公司对象数据字段,所以也许这不是OO明智的最佳解决方案。另外,记住它也需要类似于查找功能的东西,以便公司不仅可以通过使用它们的符号而且可以找到它们的名称。
什么是最好的DS来满足我的要求? map<String Symbol, Company company>
是否适合这种用途?
的几个注意事项:
假设我也想有都在我的计划,而不仅仅是寻找它在网络上的数据。
此DS中有500个对象,但可以添加或删除公司。
解决方案应该是这样搜索特定领域的所有公司(或其他数据 - 比如所有市值高于100 B $的公司),这些都很容易实施,并且效率很高。
我不知道用户是否输入符号或公司名称。
数据也将被保存到一个文件。
该解决方案应该只使用java核心(不是commons,番石榴等)。
你确定你不想要持久性存储吗?如果仅使用内存存储,则当应用程序崩溃或关闭时,所有您的更改(如添加删除公司)都将丢失。 –
是的,我忘了提及 – Niminim
你确定你不想使用数据库吗? – Henry