首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Objective C中实现多个集合的并集

如何在Objective C中实现多个集合的并集
EN

Stack Overflow用户
提问于 2018-01-24 13:01:42
回答 1查看 459关注 0票数 1

我有一个NSSet实例数组,如下面的代码所述。

代码语言:javascript
复制
NSArray *a = @[@"1", @"2", @"3", @"4", @"5"];
NSArray *b = @[@"1", @"2", @"3", @"6", @"7"];
NSArray *c = @[@"1", @"7", @"8", @"9", @"5"];
NSArray *d = @[@"1", @"6", @"7", @"8", @"9"]; ... upto N number of arrays.

这N个数组是在N个NSSet实例中定义的,方法是使用[NSSet setWithArray:]方法从这些数组创建集合。集合的所有N个实例都存储在一个数组X中。现在,我需要对所有N个集合执行联合集合操作。我怎样才能做到这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-24 13:19:05

有不同的方法可以做到这点。最简单的方法是迭代(集合的)数组,然后简单地将新元素添加到集合中。

代码语言:javascript
复制
NSMutableSet *unionSet = [NSMutableSet new];
for( NSSet *singleSet in X) // X is an array of sets as mentioned in the Q
{
  [unionSet unionSet:singleSet];
}

但是,在统一它之前不需要创建单个中间集,因为您也可以使用-addObjectsFromArray: (NSMutableSet)将数组本身添加到unionSet中。

作为一个提示,我想在你的例子中提到(可能与真实世界不同),简单的数字可能是从一开始就使用NSIndexSetNSMutableIndexSet的更简单的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48415127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档