【发布时间】:2011-01-24 23:03:32
【问题描述】:
我有两套。 Set b 是 Set a 的子集。他们都是非常巨大的集合。
我想从 a 中减去 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。
编辑:这里的 Set 不是 JAVA API,它是一个数据结构。所以我不在乎Java API是否有removeAll()方法,我想为这个问题找到一个通用的解决方案,我在使用Javascript和Actionscript时遇到了很多这样的问题。
【问题讨论】:
-
我更改了标签列表,因为 OP 对 Java 解决方案不感兴趣。
-
不,不是。我想找到一个通用算法,而不是 Java API。
-
对,所以我把java标签去掉了。
标签: javascript actionscript-3 performance