iphone - 比较两个数组并获取共同项

标签 iphone objective-c ios iphone-sdk-3.0

我有两个数组,但它们的长度不同。我想比较这两个数组并将共同项放入一个新数组。同时,should not have duplicate items 是第三个数组。 我真的搞砸了,请帮帮我。 非常感谢。 . .

最佳答案

是这样的吗?

NSMutableSet* set1 = [NSMutableSet setWithArray:array1];
NSMutableSet* set2 = [NSMutableSet setWithArray:array2];
[set1 intersectSet:set2]; //this will give you only the objects that are in both sets

NSArray* result = [set1 allObjects];

这样做的好处是不用查找数组中的对象,同时循环遍历另一个数组,复杂度为 N^2,如果数组很大,可能需要一段时间。

编辑:set2 不必是可变的,不妨使用

NSSet* set2 = [NSSet setWithArray:array2];

关于iphone - 比较两个数组并获取共同项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7246273/

相关文章:

iOS10 UIImageWriteToSavedPhotosAlbum TCC__CRASHING_DUE_TO_PRIVACY_VIOLATION

iphone - 对第 3 方日历应用程序的 iPhone 通知区域进行更多控制

ios - 如何使用 Swift 中的应用内购买从多个 View 中删除广告(已在 1 个 View 中使用)

iphone - 我可以覆盖 ScrollView 的自动行为以滚动到第一响应者吗?

ios - iPhone 你能从你的应用程序中显示拨号器界面吗?

iphone - 释放变量的影响大于保留计数

iphone - 如何获取提取时区( (GMT+05 :30) from systemTimeZone(NSTimeZone)

ios - 为 Transformable 属性更改 Transformer 时是否需要进行核心数据迁移?

iphone - 从越狱的iPhone上的控制台打开wifi/蓝牙/网络共享

objective-c - AFNetworking 2.0 AFHTTPSessionManager : how to get status code and response JSON in failure block?