我有以下表格结构:
表名:lookup
clmns: 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
由于某种原因,我无法规范化表。那么存储来自查找表的数据的最好方法是什么呢?我应该使用哪个集合?
我所做的是:创建了每个列的数组,然后我存储了这些数据。存储这类数据的更有效的方法是什么呢?
一对多的建议选项:
1) Map
,其值为Set
s。2) Apache的MultiMap
类,它封装了这个概念。
但听起来你实际上想走另一条路。最简单的方法是实现一个Comparable
对象,它包含您想要使用的三个单独的键,并根据它们实现.equals()
和.hashcode()
,并将其用作Map
的键。
您可以创建一个Row类
class Row {
String appname;
String wfname;
String wfdir;
String sessname ;
...
和使用LinkedHashMap
来保持结果集顺序