OC字典集合遍历以及排序.docx_第1页
OC字典集合遍历以及排序.docx_第2页
OC字典集合遍历以及排序.docx_第3页
OC字典集合遍历以及排序.docx_第4页
OC字典集合遍历以及排序.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/数组遍历 /* 数组遍历 原理:通过for循环的循环变量用作数组元素下标来获取不同下标的元素。 循环次数就是数组元素的个数。 */ NSArray *cityArray = bj,hn,sx,sd,xg; /字典 NSDictionary *dic =NSDictionary dictionaryWithObjectsAndKeys:zhang3,name,chiF,hobby,18,age, nil; /集合 NSSet *set=NSSet setWithObjects:123,456,789,1011, nil; for (int i=0 ; icityArray count; i+) /根据下标从数组中取出对应下标 NSString * string = cityArray objectAtIndex:i; NSLog(*数组*%,string); /字典遍历 /* 字典遍历 原理:先获取字典中所有的key,存储到数组中,遍历数组依次取 出每一个key,然后根据key从字典中取出对应的value。 字典取值要通过key取出对应的value。 循环次数等于字典的元素个数。 */ NSArray *key=dic allKeys;/取出dic这个字典当中 的所有的key值(存储到数组) for (int i=0 ; ikey count; i+) /通过数组元素的下标取出对应的key NSString *keyy=key objectAtIndex:i; NSString* valuee=dic objectForKey:keyy; NSLog(key= % *字典* value = %,keyy,valuee); /集合遍历 /* 原理: 用集合的allObject属性先取到集合的所有元素存储到数组 中,再通过for循环的循环变量用作下标来取到每个元素 */ NSArray *setObject = set allObjects; for (int i=0 ; isetObject count; i+) /从集合的 allObjects(setObject数组)中获取对应的下标所对应的元素,并输出 NSLog(集合*%,setObject objectAtIndex:i); NSArray *string =xiaoM,erQ,sanP,siX,daC; NSMutableArray *temp =NSMutableArray arrayWithCapacity:0; for (int i=0 ; istring count; i+) temp addObject:string objectAtIndex:(string.count-1-i); NSLog(*倒取*%,temp); NSDictionary *ren =name:dada,sex:man,age:28; NSArray*keey =ren allKeys; for (int i=0 ; i%,sortedArray); /可变数组 array00 sortedArrayUsingSelector:selector(compare:); NSLog(%,array00); /数组排序-数组中存放自定义类对象排序- Person *per1=Person alloc initWithName:mhang3 age:99 sex:m; Person *per2=Person alloc initWithName:zhang4 age:19 sex:w; Person *per3=Person alloc initWithName:ahang5 age:223 sex:m; Person *per4=Person alloc initWithName:zhang6 age:217 sex:w; Person *per5=Person alloc initWithName:zhang7 age:20 sex:m; Person *per6=Person alloc initWithName:bhang08 age:23 sex:w; Person *per7=Person alloc initWithName:zhang9 age:10 sex:m; /生成数组对象 NSArray *perArray =per1,per2,per3,per4,per5,per6,per7; / NSSortDescriptor /生成初始化,排序描述-按照人名进行排序 NSSortDescriptor*sortWithName =NSSortDescriptor alloc initWithKey:name ascending:YES; /通过排序描述对数组进行排序,生成新的排序后的数组 NSArray *sortedWithName = perArray sortedArrayUsingDescriptors:NSArray arrayWithObjects:sortWithName, nil; NSLog(sortedWithName *%,sortedWithName); /年龄 NSSortDescriptor*sortWithAge =NSSortDescriptor alloc initWithKey:age ascending:0; NSArray*age0=perArray sortedArrayUsingDescriptors:NSArray arrayWithObjects:sortWithAge, nil; NSLog(sortedWithAge *%,age0); /可变数组 生成初始化描述 - 按照性别升序 NSSortDescriptor*sortWithSex =NSSortDescriptor alloc initWithKey:sex ascending:0; NSMutableArray *mArray =perArray mutableCopy; mArray sortUsingDescriptors:NSArray arrayWithObjects:sortWithSex, nil; NSLog(*mArray*%,mArray); /使用数组排序方法传入数组中两个元素比较的方法名 /不可变数组排序 /按照自定义排序规范(姓名) NSArray *resultWithNameArray = perArray sortedArrayUsingSelector:selector(compareByAge:); NSLog(%,resultWithNameArray); NSArray *rrr =perArray sortedArrayUsingSelector:selector(compareByName:); NSLog(rrrr*%,rrr);+(instancetype)personWithName:(NSString*)name age:(int)age sex:(NSString*)sex return Person alloc initWithName:name age:age sex:sex;/比较两个人年龄 -升序- (NSComparisonResult)compareByAge:(Person *)person/ int result= self.age person.age;/ NSLog(*%d,result);/ return result; /当条件表达式成立之后,条件结果是看我们返回值 -1代表降序 1代表升序 /返回-1告诉数组不用变 返回1意思是需要调换 if (self.ageperson.age) NSLog(1); return -1; else if (self.ageperson.age) NSLog(-1); return 1; else return 0; /降序- (NSComparisonResult)compareByName:(Person *)perso

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论