您的位置:首页 > 移动开发 > IOS开发

iOS去除数组中重复元素的几种方法

2016-09-21 20:36 429 查看
//第一种:利用NSDictionary的allKeys(allValues)方法。
NSArray *array = @[@"2016-10-1",@"2016-10-9",
@"2016-10-9",@"2016-10-9",@"2016-12-25",
@"2016-12-25",@"2016-12-25",
@"2016-12-25",@"2016-12-25"];

NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithCapacity:0];
for (NSString *str in array) {

[dic setValue:str forKey:str];
}
NSLog(@"%@",[dic allKeys]);<pre name="code" class="html">//打印结果
(
"2016-12-25",
"2016-10-1",
"2016-10-9"
)<pre name="code" class="html">
//第二种方法:利用NSSet的allObjects方法NSSet *set = [NSSet setWithArray:array];NSLog(@"%@",[set allObjects]);
<pre name="code" class="html">//第三种:利用数组的containsObjectNSMutableArray *ary = [[NSMutableArray alloc]init];for (NSString *str  in array) {if (![ary containsObject:str]) {[ary addObject:str];}}NSLog(@"%@",ary);
  //第四种:利用keyValue    array = [array valueForKeyPath:@"@distinctUnionOfObjects.self"];    NSLog(@"----%@",array);//第五种,输出结果顺序不会乱
    NSMutableArray *categoryArray = [[NSMutableArray alloc] init];for (unsigned i = 0; i < [array count]; i++){if ([categoryArray containsObject:[array objectAtIndex:i]] == NO){[categoryArray addObject:[array objectAtIndex:i]];}}NSLog(@"======%@",categoryArray);

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: