我有两个集合。 Set b
是Set a
的子集。他们都是非常庞大的集合。 我想从b中减去b,做这个常用操作的最佳做法是什么? 我已经写了很多这样的代码,我不认为它是有效的。你的想法是什么?做收集减法的最快方法
伪代码:(这不是Java API)。
for(int i = 0 ; i < a.size(); i++) {
for (int j=0 ; j < b.size() ;j++) {
// do comparison , if found equals ,remove from a
break;
}
}
我想找到一个算法,不仅适用于Sets,也适用于Array。
编辑:这里设置不是JAVA API,它是一个数据结构。所以我不在乎Java API是否具有removeAll()方法,我想为这个问题找到一个通用的解决方案,当我使用Javascript和Actionscript时,遇到了很多像这样的问题。
我改变了标签列表,因为OP对Java解决方案不感兴趣。 – CPerkins 2010-03-08 12:40:46
不,不是。我想找到一个通用算法,而不是Java API。 – Sawyer 2010-03-08 12:48:50
对,所以我删除了java标签。 – CPerkins 2010-03-08 13:05:15