使用Node查找集合的联合/交集

时间:2014-03-27 23:28:49

标签: java data-structures linked-list

我有两个Node

Node set1;
Node set2;

set1 = {'a','b','d','1'};
set2 = {'1','c','d'};

我需要找到这两组的联合和交集。所以他们应该看起来像这个

union = {'a','b','c','d','1'};
intersection = {'1','d'};

我正在努力避免使用数组。我可以像这样迭代我的节点

while(set1.hasNext){
char ob = set1.next;
}

我还制作了一个给出集合长度的方法。 set1.length(); 在我真正的实现集中是巨大的,他们不是所有的char。有一些泛型类型,它们都在Node链表中作为对象。所以我试图避免使用数组。请帮助!!!

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用java集合框架中的Set?用HashSet实现?对于Union你可以做一个addAll来做联盟。对于交集,您可以遍历较小的集合,并查看每个元素的较大集合contains。对于两个集合中的每个元素,您可以将其添加到交集。