我希望有一个小型数据结构,类似于具有3列的关系数据库表。实际上,它就像一个矩阵,我希望在前两个匹配时从第三列中选择值 e.g。
编辑:格式化
Michael John 1 Michael Jeremy 3 Jeremy John 4
我希望在两个人的名字(根据所选数据)
时选择3迈克尔和杰里米。
我不想将它保留在DBMS中,因为数据是两个小的(介于20到30行之间),但我确实希望保持它可配置以允许修改 - 因此我避免使用Java数据结构,如Map / list
我正在使用Spring Framework。
有什么建议吗?
答案 0 :(得分:0)
实际上,数据结构的内存表示可能看起来像一张地图。密钥或散列将是两个方向上的用户名组合,值将是数字。
所以你的地图会有这样的条目:
{"Jeremy_John":4}
{"John_Jeremy":4}
当然你可以使用任何分隔符。根据您的使用情况,您可能不必双向哈希。
通过可配置,我假设您的意思是在您的spring配置文件中可编辑。您可以将列表加载到bean构造函数中,如下所示:
<list>
<value>"Jeremy,John,4"</value>
</list>
然后在构造函数中解析这些字符串以创建地图。地图每行有两个条目:John,Jeremy和反向。
如果您这样做,那么您还可以将数据保存在外部csv文件中。
有很多可能性,包括为您的属性使用泛型,甚至包含每个条目的特殊类。它将有一个接受两个字符串和一个数字的构造函数。然后,您可以在spring文件中列出这些列表。
人们经常使用这种模式将spring用作低保真业务规则引擎。