如何在目标C中交叉两个数组?

Dis*_*ant 19 iphone intersection objective-c nsmutablearray nsmutableset

我有两个数组.Array1包含15个对象,Array2包含4个对象.两个数组都有两个常见的对象,我只想得到那两个对象的结果数组.

它应该像两个Set的交集,但是如何在Objective C中为数组做..?请帮忙.谢谢.

jce*_*ile 52

使用NSMutableSet

NSMutableSet *set1 = [NSMutableSet setWithArray: array1];
NSSet *set2 = [NSSet setWithArray: array2];
[set1 intersectSet: set2];
NSArray *resultArray = [set1 allObjects];
Run Code Online (Sandbox Code Playgroud)

  • 如果这些数组非常大,每个都有2000个对象,它的效果如何?这是一个可扩展的解决方案 (2认同)