码迷,mamicode.com
首页 > 编程语言 > 详细

数组去重方法总结

时间:2016-05-15 14:02:23      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

  • 第一种:冒泡排序,然后挨个挨个比较,这个没什么可说的,关键是麻烦,而且时间复杂度也挺大的,所以博主就不给讲了。
  • 第二种:利用数组排序。
  • 技术分享
        NSArray *array = @[@"小玉",@"小小鱼",@"小玉"];
        
    
        //数组去重方法---方法1
        //建立一个新的的可变数组,数组长度为0
        NSMutableArray *newArray = [NSMutableArray array];
        //遍历array,然后判断新数组中是否包含该元素,如果没有,则添加。
        for (NSString *string in array) {
            
            if (![newArray containsObject:string]) {
                
                [newArray addObject:string];
            }
        }
        //输出新数组中的元素
        for (NSString *string in newArray) {
            
            NSLog(@"%@",string);
        }
    技术分享
  • 第三种:字典排序
  • 技术分享
    
    
        NSArray *array = @[@"小玉",@"小小鱼",@"小玉"];
    //字符串去重方法二
        NSMutableDictionary *dict = [NSMutableDictionary dictionary];
        //根据字典的key值是唯一的,来写入数组
        for (NSNumber *number in array) {
            //把number拼接成字符串
            [dict setValue:number forKey:[NSString stringWithFormat:@"%@",number]];
        }
        
        NSLog(@"%@",[dict allValues]);
    技术分享
  • 第四种:NSSet排序-根据NSSet是无序的,他可以保证数据的唯一性,插入相同的数据不会有什么效果,博主建议大家面试可以用NSSet,方便快捷,不会偷懒的程序员不是好程序员。。
技术分享
NSArray *array = @[@"小玉",@"小小鱼",@"小玉"];

   
    //第三种去重方法NSSet
    NSSet *set = [[NSSet alloc]initWithArray:array];
    
    NSLog(@"%@",[set allObjects]);
技术分享

 

  • NSOrderedSet -- 有序排列--面试要是要求有序排列就用这个,没要求就用上面那个NSSet
技术分享
    NSArray *array = @[@"小玉",@"小小鱼",@"小玉"];

    //数组有序排列
    NSOrderedSet *orderSet = [NSOrderedSet orderedSetWithArray:array];

    NSLog(@"%@",orderSet.array);
技术分享

 

数组去重方法总结

标签:

原文地址:http://www.cnblogs.com/lishishi/p/5495027.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!