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);
  • 相关阅读:
    MVC设计模式和三层架构
    Servlet使用反射机制
    JSP的工作原理
    Servlet相关的几种乱码
    Word发送至博客园
    使用为知笔记上传到博客园
    idea乱码问题
    Servlet快速入门及运行流程
    【转】SQL注入及mybatis中#{}和${}的区别
    我的这个时代与你们
  • 原文地址:https://www.cnblogs.com/OIMM/p/9522110.html
Copyright © 2011-2022 走看看