【发布时间】:2009-12-28 04:45:36
【问题描述】:
我有点难过。本质上,我需要一个有点像数据库的数据结构。我需要能够为每个键拥有多个数据位,并且有可能拥有多个具有相同名称的键。然后我需要能够搜索该数据结构并提取正确的关键字并将其与其他可能的数据进行检查。这是一个例子:
Keys | Name | Price
Airplane | Boeing | 10000
Airplane | LearJet | 4000
Airplane | Airbus | 20000
Car | Honda | 500
Car | Ford | 450
Car | Chevy | 600
所以我需要能够专门搜索波音公司的飞机和飞机。由于很多原因,我不能使用实际的数据库,这完全是矫枉过正,因为我没有很多记录,但我确实需要能够提取这些值。我在 Java 中找到了一个 multimap 实现,但它不允许我插入多个具有相同名称的键,也不允许我不仅搜索键而且搜索具有相应值的键。
有人知道这可能是如何实现的吗? 谢谢
编辑:好的,我查看了所有答案。出于某种原因,我无法理解任何需要唯一键但正在使用地图的情况。这个解决方案有很多答案,我认为所有的错都是因为无法理解它们。 最终我需要拥有多个唯一键,我知道这些解决方案可以解决这个问题,但我就是无法理解它。
虽然它远不是一个完美的解决方案,但我使用了 Apache 的 MultiKey 类,因为我只需要提取一个可能的值,它就可以正常工作。我感谢每个人的努力,不幸的是我无法让它发挥作用。对不起
【问题讨论】:
-
从您的 cmets 中可以明显看出,需要存储的项目很少。如果是这种情况,是不是使用更简单的东西,比如 List 或简单的 Map 并遍历要搜索的元素,真的会减慢您的应用程序的速度吗?
-
缓慢根本不是问题。这可能需要永远,这不会是一个问题。我正在研究解决方案
标签: java oop data-structures map