从两个数组中获取唯一的数字

如果我有几个NSArrays填入整数NSNumbers ,如下所示:

A: { 12, 23, 45, 56, 67, 78, 99, 234 } B: { 12, 56, 78, 99, 454, 512 } 

如何输出数字在A中,但不在B中的数组

 { 23, 45, 67, 234 } 

你所要做的纯粹是一套操作。 所以你可以在这里使用NSSet 。 你应该做minusSet:来得到你想要的结果。

 NSMutableSet *resultSet = [NSMutableSet setWithArray:A]; NSSet *setB = [NSSet setWithArray:B]; // This is what you need! [resultSet minusSet:setB]; Array *result = [resultSet allObjects]; 

创build一个名为C的NSMutableArray。在A上执行一个循环,试图在B中find它的每个元素(使用[B containsObject:elemOfA]-isEqual:elemOfA向B的每个成员发送-isEqual:elemOfA消息)。 如果find一个元素,什么都不要做; 如果找不到元素,则将其添加到C.