我有三个NSMutableArray,包含根据不同的标准添加到列表中的名称。
以下是我的数组伪代码:
以下是我的数组伪代码:
NSMutableArray *array1 = [@"Jack", @"John", @"Daniel", @"Lisa"];
NSMutableArray *array2 = [@"Jack", @"Bryan", @"Barney", @"Lisa",@"Penelope",@"Angelica"];
NSMutableArray *array3 = [@"Jack", @"Jerome", @"Dan", @"Lindsay", @"Lisa"];
我想要找到一个第四个数组,其中包含这三个数组的交集。例如,在这种情况下,它将是:
NSMutableArray *array4 = [@"Jack",@"Lisa"];
因为三个数组中都有Jack和Lisa作为元素。是否有简单的方法可以处理这种情况?
array1 = [obj1, obj2, obj2, obj3]
和array2 = [obj2, obj2, obj3, obj4]
,它们的交集应该是intersect = [obj2, obj2, obj3]
)。如果这些数组中包含重复的元素或者元素的顺序很重要,那么最好使用谓词来过滤这些数组。 - David Rönnqvisthash
和isEqual:
来确定哪些对象存在于两个集合中。 - David RönnqvistNSMutableOrderedSet
。类似于:NSMutableOrderedSet *ordered = [NSMutableOrderedSet orderedSetWithArray:array1];
,然后执行交集等操作。 - Q8i