哈希在java中加入

时间:2010-04-20 05:11:57

标签: java

我有两个关系A和B,都有所有整数属性(A {a1,a2,a3,...} B {b1,b2,b3,..}。我如何将这两个哈希加入java?用户将选择两个连接属性。我是否制作了两个哈希表,然后继续加入它们?

2 个答案:

答案 0 :(得分:3)

那么,你们的关系有什么形式?他们是否在关系数据库中?如果是这样,只需使用SQL JOIN - DBMS可能会进行散列连接,但您不必关心它。

如果他们不在关系数据库中,为什么不呢?

如果一些奇怪的约束阻止你使用最好的工具形式,那么是的,做一个散列连接就像将每个元组放入一个键入join属性的哈希表,然后迭代一个条目并查找在另一个匹配。 如果所有数据都适合主内存,那就是。

答案 1 :(得分:0)

这是他在Java中进行散列连接的方法 最好的方法是使用散列图散列一个表A.

MY_BROADCAST_CHECK

然后使用哈希在B中循环并重新组合匹配的。

HashMap<Sting, Object[]> hash = new HashMap<String, Object[]>();
for (Object[] a : as) {
    hash.put(a.a1, a);
}

仅当A表的每个元素都具有唯一的a1时才会起作用。