zoukankan      html  css  js  c++  java
  • 数组去重方法总结

    • 第一种:冒泡排序,然后挨个挨个比较,这个没什么可说的,关键是麻烦,而且时间复杂度也挺大的,所以博主就不给讲了。
    • 第二种:利用数组排序。
    • 复制代码
          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);
    复制代码

     

  • 相关阅读:
    django2.2/mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3
    orm练习题
    url的匹配问题
    集成抽象类后出现的问题
    迅为IMX6Q开发板上移植mplayer
    迅为i.MX6ULL开发板原理图分析介绍
    性价比高又能较好的学习嵌入式ARM+Linux的开发板
    适合初学者的linux开发板
    IMX6ULL开发板
    i.MX6ULL开发板终结者资料介绍
  • 原文地址:https://www.cnblogs.com/lishishi/p/5495027.html
Copyright © 2011-2022 走看看