zoukankan      html  css  js  c++  java
  • 排序

    排序简用

      NSMutableArray *mutarr = [[NSMutableArray alloc]init];
        NSArray *letters = @[@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z"];
            //create DATE
        for (int i = 0; i<10; i++) {
            NSString * name = [NSString stringWithFormat:@"%@%@%@",[letters objectAtIndex:arc4random()%25] ,[letters objectAtIndex:arc4random()%25],[letters objectAtIndex:arc4random()%25]];
            NSString *age = [NSString stringWithFormat:@"%u",arc4random()%80];
            
            NSMutableDictionary *person = [[NSMutableDictionary alloc]init];
            [person setValue:name forKey:@"name"];
            [person setValue:age forKey:@"age"];
            
            [mutarr   addObject:person];
        }
        NSLog(@"源数据 == %@",mutarr);
    
        //第一种
        NSSortDescriptor *descriptor = [[NSSortDescriptor alloc]initWithKey:@"name" ascending:NO];
        NSMutableArray *sortarr = [[NSMutableArray alloc]initWithObjects:&descriptor count:1];
        NSArray *sortedarr = [mutarr sortedArrayUsingDescriptors:sortarr];
        NSLog(@"sortedarr  %@",sortedarr);
    
        //第二种
        NSArray *sortedcomparr = [mutarr sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
            //字符串类
            return [obj1[@"name"] compare:obj2[@"name"]];
        }];
        NSLog(@"sortedcomparr    ===  %@",sortedcomparr);
        
        //第二种特例
        NSArray *sortedspecial = [mutarr sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
            //数值比大小,使用上一种,7比17大
            if ([obj1[@"age"] integerValue] > [obj2[@"age"] integerValue]) {
                return NSOrderedAscending;
            }else{
                return NSOrderedDescending;
            }
        }];
        NSLog(@"sortedspecial    ===  %@",sortedspecial);
  • 相关阅读:
    Eclipse报告内存不足和PermSize space错误,Eclipse死掉的解决办法
    jquery插件:文字滚动和google地图位置选择搜索
    CGI、ISAPI和FastCGI三种配置方式
    240多个jQuery插件
    调用外部命令不弹出窗口示例
    将DataSet变化保存到数据源
    Fill()方法和Conn.Open()
    SqlDataAdapter的DeleteCommand属性
    SqlDataAdapter的InsertCommand属性
    使用数据集和XML
  • 原文地址:https://www.cnblogs.com/OIMM/p/9522110.html
Copyright © 2011-2022 走看看