我有两个 NSArrays A 和 B,它们共享一些共同的元素,例如
A: 1,2,3,4,5
B: 4,5,6,7
我想创建一个新的 NSArray,其中包含两个 NSArray 之间常见的内容,并与第二个 NSArray 的内容相连接,同时保持元素的顺序并删除重复项。也就是说,我想要 (A ∩ B) ∪ B。
对先前 NSArray 的操作将产生:
A ∩ B: 4,5
(A ∩ B) ∪ B: 4,5,6,7
我如何在 Objective-C 中实现这一点?
转换NSArray
s to NSSet
也就是说,标准集合操作是可用的。
NSArray *a = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
NSArray *b = [NSArray arrayWithObjects:@"4", @"5", @"6", @"7", nil];
NSMutableSet *setA = [NSMutableSet setWithArray:a];
NSSet *setB = [NSSet setWithArray:b];
[setA intersectSet:setB];
NSLog(@"c: %@", [setA allObjects]);
NSLog 输出:c: (4, 5)
[setA unionSet:setB];
NSLog(@"d: %@", [setA allObjects]);
NSLog 输出:d: (6,4,7,5)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)