三栏数据结构

时间:2015-07-16 09:49:56

标签: java spring data-structures

我希望有一个小型数据结构,类似于具有3列的关系数据库表。实际上,它就像一个矩阵,我希望在前两个匹配时从第三列中选择值 e.g。

编辑:格式化

  

Michael John 1 Michael Jeremy 3 Jeremy John 4

我希望在两个人的名字(根据所选数据)

时选择3
  迈克尔和杰里米。

我不想将它保留在DBMS中,因为数据是两个小的(介于20到30行之间),但我确实希望保持它可配置以允许修改 - 因此我避免使用Java数据结构,如Map / list

我正在使用Spring Framework。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

实际上,数据结构的内存表示可能看起来像一张地图。密钥或散列将是两个方向上的用户名组合,值将是数字。

所以你的地图会有这样的条目:

 {"Jeremy_John":4}
 {"John_Jeremy":4}

当然你可以使用任何分隔符。根据您的使用情况,您可能不必双向哈希。

通过可配置,我假设您的意思是在您的spring配置文件中可编辑。您可以将列表加载到bean构造函数中,如下所示:

<list>          
    <value>"Jeremy,John,4"</value>
</list>

然后在构造函数中解析这些字符串以创建地图。地图每行有两个条目:John,Jeremy和反向。

如果您这样做,那么您还可以将数据保存在外部csv文件中。

有很多可能性,包括为您的属性使用泛型,甚至包含每个条目的特殊类。它将有一个接受两个字符串和一个数字的构造函数。然后,您可以在spring文件中列出这些列表。

人们经常使用这种模式将spring用作低保真业务规则引擎。