哪个Collection用于一对多类型的数据?

时间:2014-03-21 01:35:50

标签: java collections

我有以下表结构:

表名:查找

cloumns:appname,wfname,wfdir,sessname

如此对应于特定的appname,wfname和wfdir,我有多个sessname。

  app1,wf1,anydir,sess1
  app1,wf1,anydir,sess2
  app1,wf1,anydir,sess3
  app2,wf2,anydir2,sess1
  app2,wf2,anydir2,sess2

由于某种原因我无法规范化表格。那么存储来自查找表的这些数据的最佳方法是什么。我应该使用哪个系列?

我所做的是: 创建了每列的arryalist,然后我存储了这些数据。存储这些类型数据的更有效方法是什么?

2 个答案:

答案 0 :(得分:0)

一对多的建议选项:

1)Map,其值为Set s。 2)Apache的MultiMap类,它封装了这个概念。

但听起来你真的想要走另一条路。最简单的方法是实现一个Comparable对象,该对象包含您要使用的三个单独的键,并根据它们实现.equals().hashcode(),并将其用作Map的关键。

答案 1 :(得分:0)

您可以创建一个Row类

class Row {
   String appname;
   String wfname;
   String wfdir;
   String sessname ;
 ...

并使用LinkedHashMap保留结果集顺序