Cocoa touch 在NSArray中查找重复项

Cocoa touch 在NSArray中查找重复项,cocoa-touch,nsarray,Cocoa Touch,Nsarray,假设您有一个NSArray,其中包含重复的@[1,2,3,1,1,2,4,5,6] 找到所有的副本;这可以是伪代码。这是一个比基础框架更为复杂的算法问题(不使用 NSSET )问题。 < P>使用 NSCONTEDSETP>代码> 并且只打印为countForObject:方法返回数字>1的元素 如需有关@Lithu所述的更多信息,请使用NSCountedSet,请参阅以下代码 NSArray *arr = [[NSArray alloc]initWithObjects:@(1),@(1),@(

假设您有一个
NSArray
,其中包含重复的
@[1,2,3,1,1,2,4,5,6]


找到所有的副本;这可以是伪代码。这是一个比基础框架更为复杂的算法问题(不使用<代码> NSSET )问题。

< P>使用<代码> NSCONTEDSETP>代码> 并且只打印为
countForObject:
方法返回数字>1的元素


如需有关@Lithu所述的更多信息,请使用
NSCountedSet
,请参阅以下代码

NSArray *arr = [[NSArray alloc]initWithObjects:@(1),@(1),@(2), @(1),nil];
NSCountedSet *cs = [[NSCountedSet alloc] initWithArray:arr];
NSLog(@"object count greater than 1 are");
for(NSNumber *num in cs)
{
    if([cs countForObject:num]>1)
    NSLog(@"%@",num);
}

看看NSCountedSet。您可以从数组中创建其中一个,然后循环查看哪些数组的计数大于1。我从来不知道NSArray可以直接存储整数值:O