iOS 数组和字典排序

一、数组排序

数组排序方式1:

 1 //初始化可变数组
 2         NSMutableArray *arr1=[NSMutableArray arrayWithObjects:@"giu",@"min",@"Deng",@"liumin", nil];
 3         //字符串排序
 4         //创建排序描述符对象NSSortDescriptor,key为空,ascending:升序
 5         NSSortDescriptor *decri =[NSSortDescriptor sortDescriptorWithKey:nil ascending:YES];
 6         //定义一个数组,用来盛放排序条件
 7         NSArray *des =[NSArray arrayWithObject:decri];
 8         //开始排序
 9         [arr1 sortUsingDescriptors:des];
10         //打印排序内容
11         for (int i=0; i<arr1.count; i++)
12         {
13             NSLog(@"arr=%@",[arr1 objectAtIndex:i]);
14         }

数组排序方式2:

1    NSMutableArray *arr2=[NSMutableArray arrayWithObjects:@"c", @"A",@"z",@"D",nil];
2
3         //区分大小写排序 自带compar方法  选择排序
4         [arr2 sortUsingSelector:@selector(compare:)];
5         for (int i=0; i<arr2.count; i++)
6         {
7             NSLog(@"arr2=%@",[arr2 objectAtIndex:i]);
8         }

二、字典的排序

 1 //创建5个排序对象
 2     NSDictionary *dic1 [email protected]{@"price":@"30",@"name":@"liu"};
 3     NSDictionary *dic2 [email protected]{@"price":@"150",@"name":@"huang"};
 4     NSDictionary *dic3 [email protected]{@"price":@"37",@"name":@"yoyu"};
 5     NSDictionary *dic4 [email protected]{@"price":@"25",@"name":@"yofu"};
 6     NSDictionary *dic5 [email protected]{@"price":@"172",@"name":@"yosu"};
 7     //将这些对象放进数组
 8     NSArray *arr =[NSArray arrayWithObjects:dic1,dic2,dic3,dic4, dic5,nil];
 9     //调用数组排序方法
10     NSArray *arr2 = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2)
11     {
12         //取出对象里的一个值作比较,根据大小返回结果
13         NSString  *c = [obj1 valueForKey:@"price"];
14         NSString  *d = [obj2 valueForKey:@"price"];
15         int a =[c intValue]; //转成整形int比较
16         int b =[d intValue];
17         //按照降序排列,如果升序就返回结果对换
18         if (a > b)
19         {
20             return NSOrderedAscending;
21         }else
22         {
23             return NSOrderedDescending;
24         }
25
26     }];
27     //循环遍历排序后的字典数组
28     for (NSDictionary *dic in arr2)
29     {
30          NSLog(@"%@",dic);
31     }
时间: 2024-11-07 19:32:26

iOS 数组和字典排序的相关文章

IOS数组、字典、NSNumber 新写法—— @[]、@{}

IOS数组.字典.NSNumber 新写法—— @[].@{} //标准写法 NSNumber * number = [NSNumber numberWithInt:1]; NSArray * array = [NSArray arrayWithObjects:@"one", @"two", nil]; NSDictionary * dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1&quo

iOS - 数组与字典(NSArray &amp; NSDictionary)

1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s2 = @"lisi"; NSString *s3 = @"wangwu"; //(1) NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3, nil]; NSLog(@"%@",a

数组套字典排序

1 { 2 "status": "1", 3 "msg": "\u6210\u529f", 4 "data": { 5 "detail_data": [{ 6 "stock_code": "430074", 7 "now_price": 14.07, 8 "increase": "1.3%"

iOS 数组的去重(普通的无序的去重和排序好的去重)

本文转载至 http://blog.csdn.net/zhaopenghhhhhh/article/details/24972645 有时需要将NSArray中去除重复的元素,而存在NSArray中的元素不一定都是NSString类型.今天想了想,加上朋友的帮助,想到两种解决办法,先分述如下. 1.利用NSDictionary的AllKeys(AllValues)方法 可以将NSArray中的元素存入一个字典,然后利用AllKeys或者AllValues取得字典的所有键或值,这些键或值都是去重的

IOS数组按中文关键字以字母序排序

本文转载至 http://blog.csdn.net/xunyn/article/details/7882087 iosobjective cuser框架通讯 IOS项目中会用到对通讯录的联系人或是会员按姓名为关键字排序,因为NSArray并不直接支持对汉字的排序,这就要通过将汉字转换成拼音完成按A~Z的排序,这看起来是个头疼的问题,因为牵扯到汉字转为拼音,kmyhy给出一个较易实现的方法,获取汉字的首字的首字母,如将“王”变成“W”,完整文章(传送门). 其中他通过pinyinFirstLet

IOS数组自动排序

self.beacons = [beacons sortedArrayUsingComparator:^NSComparisonResult(BRTBeacon* obj1, BRTBeacon* obj2){ return obj1.distance.floatValue>obj2.distance.floatValue?NSOrderedDescending:NSOrderedAscending; }]; 数组的自动排序: 通过比较的方法进行   排序

Swift 之数组与字典

http://www.cocoachina.com/swift/20151230/14802.html 说到数组和字典,只要是编过程的小伙伴并不陌生.在Swift中的数组与字典也有着一些让人眼前一亮的特性,今天的博客就来窥探一下Swift中的Array和Dictionary.还是沿袭之前的风格,在介绍Swift中的数组时,我们会对比一下ObjC中的数组和字典,因为ObjC也是iOS开发的主要语言不是.无论是简单还是复杂的程序,数组和字典的用处还是比较多的,这两者虽然是Swift的基础内容,但是也

iOS数组使用

相关链接: ios数组基本用法和排序 NSArray 排序汇总 iOS 数组排序方法 IOS-筛选数组内的元素 关于EnumerateObjectsUsingBlock和for-in之间的较量 [iOS开发技术]NSPredicate谓词的用法 数组过滤

Objective-C中把数组中字典中的数据转换成URL

可能上面的标题有些拗口,学过PHP的小伙伴们都知道,PHP中的数组的下标是允许我们自定义的,PHP中的数组确切的说就是键值对.而在OC我们要用字典(Dictionary)来存储,当然了Java用的是Map来存储键值对.下面我们将实现一个极为实用的小例子,网络请求有get和post方法,两种方法各有其优点.在表单提交时Post方法用的更多一些,URL传值则会用到Get方法.在用PHP编程的时候肯定会经常拼接url来传参或者请求,在IOS开发中会向服务器通过url请求一些数据,所以对url的拼接是少