开发者

Getting unique numbers from two arrays

If I have a couple of NSArrays filled with 开发者_如何转开发ints, or NSNumbers, like so:

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

How do I output an array with numbers that are in A but not in B, like

{ 23, 45, 67, 234 }


What you are tying to do is purely a set operation. So you can use NSSet here. You should do minusSet: to get the result you want.

NSMutableSet *resultSet = [NSMutableSet setWithArray:A];
NSSet *setB = [NSSet setWithArray:B];

// This is what you need!
[resultSet minusSet:setB];

Array *result = [resultSet allObjects];


Create an NSMutableArray called C. Do a loop over A that tries to find each of its elements within B (using [B containsObject:elemOfA], which just sends the -isEqual:elemOfA message to each member of B). If an element is found, do nothing; if an element isn't found, add it to C.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜