首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目标C NSMutableDictionary

目标C NSMutableDictionary
EN

Stack Overflow用户
提问于 2016-03-18 08:26:02
回答 4查看 127关注 0票数 0

我有个关于NSMutableDictionary的问题,

假设我有两组NSMutableDictionary:

代码语言:javascript
复制
NSMutableDictionary *oddNumber
NSMutableDictionary *randomNumber

是否有检查randomNumber值的函数是oddNumber值的子集?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-03-18 08:36:39

你可以这样做,

代码语言:javascript
复制
    NSMutableDictionary *oddNumber;
    NSMutableDictionary *randomNumber;
    // Create arrays
    NSArray *arroddNumber = [oddNumber allValues];
    NSArray *arrrandomNumber = [oddNumber allValues];


    // Turn the arrays into sets and intersect the two sets
    NSMutableSet *oddNumberSet = [NSMutableSet setWithArray:arroddNumber];
    NSMutableSet *randomNumbersSet = [NSMutableSet setWithArray:arrrandomNumber];

    [oddNumberSet intersectSet:randomNumbersSet];

    // The Values present in both arrays
    NSLog(@"Common Values : %@", oddNumberSet);
票数 1
EN

Stack Overflow用户

发布于 2016-03-18 08:28:52

您可以使用values方法获取每个字典的值。这将返回一个数组。然后,您可以将这些数组转换为set,这些集合具有检查一个集合是否是另一个集合的子集的方法。

票数 0
EN

Stack Overflow用户

发布于 2016-03-18 08:43:42

看看你所拥有的价值。确保它们有一个isEqual:方法和一个散列方法,这样就可以将它们添加到一个集合中。使用第二个字典的所有值创建一个NSSet,然后遍历第一个字典并检查集合中的值。

注意,使用N个值创建一个集合需要O (N)时间,如果这些值有一个不错的散列函数,并且在一个集合中查找一个值是一个常数时间。

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

https://stackoverflow.com/questions/36079456

复制
相关文章

相似问题

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