iOS 数组和字典排序
一、数组排序
数组排序方式1:
//初始化可变数组
NSMutableArray *arr1=[NSMutableArray arrayWithObjects:@"giu",@"min",@"Deng",@"liumin", nil];
//字符串排序
//创建排序描述符对象NSSortDescriptor,key为空,ascending:升序
NSSortDescriptor *decri =[NSSortDescriptor sortDescriptorWithKey:nil ascending:YES];
//定义一个数组,用来盛放排序条件
NSArray *des =[NSArray arrayWithObject:decri];
//开始排序
[arr1 sortUsingDescriptors:des];
//打印排序内容
for (int i=; i<arr1.count; i++)
{
NSLog(@"arr=%@",[arr1 objectAtIndex:i]);
}
数组排序方式2:
NSMutableArray *arr2=[NSMutableArray arrayWithObjects:@"c", @"A",@"z",@"D",nil];
//区分大小写排序 自带compar方法 选择排序
[arr2 sortUsingSelector:@selector(compare:)];
for (int i=; i<arr2.count; i++)
{
NSLog(@"arr2=%@",[arr2 objectAtIndex:i]);
}
二、字典的排序
//创建5个排序对象
NSDictionary *dic1 =@{@"price":@"",@"name":@"liu"};
NSDictionary *dic2 =@{@"price":@"",@"name":@"huang"};
NSDictionary *dic3 =@{@"price":@"",@"name":@"yoyu"};
NSDictionary *dic4 =@{@"price":@"",@"name":@"yofu"};
NSDictionary *dic5 =@{@"price":@"",@"name":@"yosu"};
//将这些对象放进数组
NSArray *arr =[NSArray arrayWithObjects:dic1,dic2,dic3,dic4, dic5,nil];
//调用数组排序方法
NSArray *arr2 = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2)
{
//取出对象里的一个值作比较,根据大小返回结果
NSString *c = [obj1 valueForKey:@"price"];
NSString *d = [obj2 valueForKey:@"price"];
int a =[c intValue]; //转成整形int比较
int b =[d intValue];
//按照降序排列,如果升序就返回结果对换
if (a > b)
{
return NSOrderedAscending;
}else
{
return NSOrderedDescending;
} }];
//循环遍历排序后的字典数组
for (NSDictionary *dic in arr2)
{
NSLog(@"%@",dic);
}
iOS 数组和字典排序的更多相关文章
- [BS-02] iOS数组、字典、NSNumber 新写法—— @[]、@{}
IOS数组.字典.NSNumber 新写法—— @[].@{} //标准写法 NSNumber * number = [NSNumber numberWithInt:]; NSArray * ar ...
- iOS - 数组与字典(NSArray & NSDictionary)
1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s ...
- iOS数组、字典与json字符串的转换
/*! * 将字典或者数组转化为JSON串 * * @param theData <#theData description#> * * @return <#return value ...
- ios 数组和字典
一.数组. 数组只能存放对象类型的数据 2.数组中的对象是有序的 (index) (一)可变数组 NSArray:NSObject 不可变数组 作用:容器类 存放的是对象类型的数据, ...
- iOS 数组字典操作
iOS开发中需要大量对dictionary和array进行操作,因此我们需要一种更加安全可靠的操作方法来避免不必要的crash.当然可以通过自定义dictionary 和array重载增删改查的方法来 ...
- iOS数组的去重,判空,删除元素,删除重复元素 model排序 等
一: 去重 有时需要将NSArray中去除重复的元素,而存在NSArray中的元素不一定都是NSString类型.今天想了想,加上朋友的帮助,想到两种解决办法,先分述如下. 1.利用NSDiction ...
- iOS 数组的去重(普通的无序的去重和排序好的去重)
本文转载至 http://blog.csdn.net/zhaopenghhhhhh/article/details/24972645 有时需要将NSArray中去除重复的元素,而存在NSArray中的 ...
- iOS数组排序 请求后,数组元素的排序 时间戳,最热,点赞数等
[ZOYSessionManager dataWithUrlString:GetVideoDataComment andParameter:@{@"id":userID,@&quo ...
- 窥探Swift之数组与字典
说到数组和字典,只要是编过程的小伙伴并不陌生.在Swift中的数组与字典也有着一些让人眼前一亮的特性,今天的博客就来窥探一下Swift中的Array和Dictionary.还是沿袭之前的风格,在介绍S ...
随机推荐
- 定时任务的使用-crond
第1章 练习题 1.1 每天晚上 12 点,打包站点目录/var/www/html 备份到/data 目录下(最好每次备份按时间生成不同的备份包) 1.1.1 测试命令 [root@znix ~]# ...
- 动态权限<二>之淘宝、京东、网易新闻 权限申请交互设计对比分析
移动智能设备的快速普及,给生活带来巨大的精彩,但是智能设备上用户的信息数据很多,隐私数据也非常多,各种各样的app可能通过各种方式在悄悄的收集用户数据,而用户的隐私就变得耐人寻味了.比如之前的可以无限 ...
- 我是如何自学 Python 的?
最近一直有读者私信问我,Ahab你是如何学习Python的?能推荐几本适合新手学习的书吗?有没有好的实践项目分享一下呢? Python未来发展前景怎么样呀?今天我就认真的告诉大家我是如何学习Pytho ...
- Python中remove,pop,del的区别
先上题:写出最终打印的结果 a = [1, 2, 3, 4] for x in a: a.remove(x) print(a) print("=" * 20) b = [1, 2, ...
- 32bit 天堂2 windows 2000 server架设教程
服务器的软件要求: Microsoft Windows 2000 Server or advanced Server license 100 Microsoft SQL Server 2000 Ent ...
- VirtualBox共享文件夹 Windows 7 (宿主机) + Ubuntu 12.04
1 安装增强功能包1.1 运行Ubuntu并登陆,菜单“设备”->“安装增强功能包(Install Guest Additions)”ubun1.2 桌面上会多出一个光盘图标,光盘默认自动加载到 ...
- Centos7 zabbix 自动发现与注册
自动发现与自动注册 自动发现: zabbix Server主动发现所有客户端,然后将客户端登记自己的小本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多. 自动注册: zab ...
- 编写webpack 插件
Webpack插件为第三方开发者释放了Webpack的最大可能性.利用多级回调开发者可以把他们自己的需要的功能引入到Webpack里面来.Build插件比Build loader 更进一步.因为你需要 ...
- idea最常使用的快捷键
撤销 反撤销 : Ctrl+Z / Ctrl+Shift+Z 删除一行 : Ctrl+Y 跳到实现类 : Ctrl+Alt+B 重命名文件: shift+F6 控制台放大缩小: ctrl+shif ...
- Daily Scrum (2015/10/31)
这几天我们组的进度有点慢,剩下这一周的我们必须要加油认真对待. 周末这两天我们是这样安排的: 成员 今日任务 时间 明日任务 符美潇 数据库部分代码的编写 1h 每周小组例会 潘礼鹏 团队博客作业 ...