我有2 NSArray,我们称它为CountriesArray和UNCountriesArray。CountriesArray包含世界上所有的国家,UNCountriesArray包含所有属于联合国的国家。
我想要得到两个数组的subset。最后,我应该得到一个数组,其中包含不属于联合国的国家。有人能帮我写出获取两个数组的子集的objective-c代码吗?
发布于 2011-11-10 04:00:53
使用集合:
NSMutableSet *countriesSet = [NSMutableSet setWithArray:countriesArray];
NSSet *unSet = [NSSet setWithArray:unCountriesArray];
[countriesSet minusSet:unSet];
// countriesSet now contains only those countries who are not part of unSet请记住,集合的成员是未排序的。如果你想要一个有序的数组,你必须对结果重新排序。
发布于 2011-11-10 04:05:41
您可以使用NSMutableArray的removeObjectsInArray方法来完成此操作。例如:
NSMutableArray *countriesArray = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
NSArray *unCountriesArray = [NSArray arrayWithObjects:@"2", @"4", nil];
[countriesArray removeObjectsInArray:unCountriesArray];
NSLog(@"Countries array: %@", countriesArray);https://stackoverflow.com/questions/8070776
复制相似问题