gpt4 book ai didi

objective-c - 通过交集和并集组合 NSArrays

转载 作者:太空狗 更新时间:2023-10-30 03:17:23 25 4
gpt4 key购买 nike

我有两个 NSArrays A 和 B,它们共享一些共同的元素,例如

A: 1,2,3,4,5 
B: 4,5,6,7

我想创建一个新的 NSArray,由两个 NSArray 之间的共同内容与第二个 NSArray 的内容组成,同时保持元素的顺序并删除重复项。也就是说,我想要 (A ∩ B) ∪ B。

对前面的 NSArrays 的操作会产生:

A ∩ B: 4,5
(A ∩ B) ∪ B: 4,5,6,7

我如何在 Objective-C 中实现这一点?

最佳答案

NSArray 转换为 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 output: c: (4, 5)

[setA unionSet:setB];
NSLog(@"d: %@", [setA allObjects]);

NSLog output: d: (6, 4, 7, 5)

关于objective-c - 通过交集和并集组合 NSArrays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616470/

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