如果我有两个来自SQL表的数据集,就像这样。表A包含给定项的3个可能值,表B包含文件名的完整路径, 我有两个来自SQL表的数据集,看起来像这样。
TABLE A:
Column1 Column2 Column3
Value SecondValue ThirdValue
Value2 SecondValue2 ThirdValue2
Value3 SecondValue3 ThirdValue3
Table B:
Column1
PathToFile1\value.txt
PathToFile2\SecondValue2_ThirdValue.txt
PathToFile3\ThirdValue3_Value3.txt
我可以将任何表/列提取到文本中,我将使用Java来查找完整路径(表B),其中包含(表A)中一行中值的任意组合。 表B可以包含诸如c:\ directory \ file.txt,c:\ directory \ directory2 \ filename.txt或c:\ filename.txt
之类的值在给定文件名的情况下,搜索路径的最有效方法是什么?
我有两个同事的想法,但我不确定它们是否是最佳解决方案。
1.在哈希映射中存储从表B解析的文件名和路径,然后使用A中的值作为键来查找路径。对A的每一列执行此操作。
2.按字母顺序排序并使用字母顺序进行二进制搜索。
澄清:
表B中文件的路径可以包含表A中列中的任何一个值。这就是它们之间的关系。输出必须最终在Java中运行,我想探索Java中的选项,因为知道SQL对于数据的关联会更快。还在表格部分添加了一些信息。如果需要更多信息,请告诉我。
答案 0 :(得分:0)
我发现这有助于我的答案,虽然不是我的问题的具体答案。我认为使用本文中的信息可以实现最佳实践。
http://www.javacodegeeks.com/2010/08/java-best-practices-vector-arraylist.html