gpt4 book ai didi

iphone - 查找 NSMutableArray 的交集

转载 作者:行者123 更新时间:2023-12-03 18:12:55 25 4
gpt4 key购买 nike

我有三个 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作为元素。有没有办法简单地做到这一点?

最佳答案

使用NSMutableSet:

NSMutableSet *intersection = [NSMutableSet setWithArray:array1];
[intersection intersectSet:[NSSet setWithArray:array2]];
[intersection intersectSet:[NSSet setWithArray:array3]];

NSArray *array4 = [intersection allObjects];

唯一的问题是你失去了元素的顺序,但我认为(在这种情况下)没关系。

<小时/>

正如评论中所指出的(感谢,Q80!),iOS 5 和 OS X 10.7 添加了一个名为 NSOrderedSet 的新类(带有 Mutable子类),允许您执行这些相同的交集操作,同时仍保持顺序。

关于iphone - 查找 NSMutableArray 的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6023548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com