如何排除加入2个数组?

时间:2011-08-09 12:12:35

标签: iphone objective-c nsarray nspredicate

我有两个对象数组(作为NSArray的),我想得到第一个不在第二个对象中的对象数组。

2 个答案:

答案 0 :(得分:3)

请参阅NSMutableArray的{​​{1}}方法。

答案 1 :(得分:1)

1)效率低下的解决方案。运行一个数组并调用每个对象containsObject如果没有添加元素,否则采取下一个元素

2)更高效:对两个数组进行排序,然后将它们并排放置。保持对最后添加的对象的引用,然后将下一个组件与此元素进行比较。如果没有匹配,则可以添加新的“last”元素。

3)删除HashTable中的所有元素,然后获取下一个数组的下一个元素,并检查是否可以找到“相等”的对象。最后从HashTable重建一个数组

4)将所有元素放入NSSet中,然后从该NSSet重建一个Array