IOS--OC--LessonNSArray 数组
来源:互联网 发布:mysql命令行导入数据库 编辑:程序博客网 时间:2024/05/18 01:03
一 OC中的集合类型:
/*
NSArray 数组
NSDictionary 字典
NSSet 集
*/
二 数组
1.1定义: NSArray 继承于 NSObject 用来管理/存储有序的对象
ps自定义:NSArray *array3 = [[NSArray alloc]initWithObjects:@"Rose",@"Jack", nil,@"Tom",@"jer", nil];//nil 表述 数组结束 NSLog(@"%@",array3); 遍历构造器: NSArray *array4= [NSArray arrayWithObjects:@"l",@"m",@"c",@"s", nil] ; NSLog(@"%@",array4);
1.2 通过下标访问数组中的元素 因为数组里的对象是有序的
两种方法求字符中的对象一个是通过下标数字
ps:1⃣ NSString *str = [array4 objectAtIndex:0]; NSLog(@"%@",str);2⃣ 一个是直接第几个数字英文加 Object NSString *str1 = [ array4 firstObject]; NSLog(@"%@",str1);3⃣ 获取数组中元素个数 NSUInteger cou = [array4 count]; NSLog(@"%lu",cou);
2.1 NSMutableArray 可变数组 给的是空间 不是数组
2.1 注意:在使用 NSMutableArray 时 先要将他设成空的
ps: NSMutableArray *array5 = [[NSMutableArray alloc]initWithCapacity:0]; NSLog(@"%@",array5);
2.2添加对象
1⃣ 逐个添加 addObject:(nsstring*) [array5 addObject:@"尼克斯"]; [array5 addObject:@"莉莉"]; [array5 addObject:@"杰克"]; NSLog(@"%@",array5);注意 :这样打印出来只能是编码 看不出来需要遍历一下 forfor (NSUInteger i =0; i <[array5 count]; i++) { NSLog(@"%@",[array5 objectAtIndex:i]); }
2⃣ 一次添加很多 arrayWithObjects:
NSMutableArray *array6 = [NSMutableArray arrayWithObjects:@"小明",@"小红",@"小王",@"小张", nil]; NSLog(@"%@",array6);注意:仍需要遍历 for (NSUInteger i = 0; i <[array6 count]; i++) { NSLog(@"%@",[array6 objectAtIndex:i]); }
3⃣ 用一个数组 为另一个添加元素
2.3删除数组元素
1⃣ 1.删除指定位置的对象公式:removeObjectAtIndex [array8 removeObjectAtIndex:1]; NSLog(@"%@",array8);// 2.删除某个对象 已知某个对象删除公式: removeObject:@“4” (nsstring*)就是你知道的 [array8 removeObject:@"4"]; NSLog(@"%@",array8);// 删除最后一个元素 公式:removeLastObject [array8 removeLastObject]; NSLog(@"%@",array8);//清空数组公式:removeAllObjects [array8 removeAllObjects]; NSLog(@"%@",array8); */
2.4 排序
1⃣
普通冒泡排序的过程:
NSMutableArray *array9 = [NSMutableArray arrayWithObjects:@"iphone",@"ipod",@"ipad",@"iwatch",@"iMac",@"iTouch", nil];// 遍历数组for (NSUInteger i = 0; i <[array9 count]; i++) { NSLog(@"%@",[array9 objectAtIndex:i]); }冒泡排序:for (NSUInteger i = 0; i <[ array9 count]-1; i++) { for (NSUInteger j =0; j < [array9 count]-i-1; j++) {// 获取前一个位置的元素 和后一个相比较 NSString *firsts1 = [ array9 objectAtIndex:j]; NSString *seconds2 = [array9 objectAtIndex:j+1];// 通过比较元素大小决定是否交换// NSOrderedDescending = 1 if ([firsts1 compare:seconds2]>1) { [array9 exchangeObjectAtIndex:j withObjectAtIndex:j+1];//交换位置 } for (NSString *str in array9) { NSLog(@"%@",str ); }} }变型: NSArray *sortarray = [array9 sortedArrayUsingSelector:@selector(compare:)]; for (NSString *str in sortarray) { NSLog(@"%@",str);
注意:OC 中的数组排序 @selector()选择器 ()括号内选择的是用什么方法 只能完成升序
0 0
- IOS--OC--LessonNSArray 数组
- IOS OC数组
- iOS OC 快速创建 数组 字典
- IOS开发---OC语言-㉝NSArray数组
- IOS开发- OC 中数组排序
- IOS--OC-- 字典 数组 集 总结
- iOS前期OC训练OC_05省市区数组
- iOS前期OC训练OC_06数组
- iOS oc可变数组排序方法
- 自学iOS开发系列----OC(数组)
- OC数组
- OC 数组
- OC-数组
- OC-数组
- oc数组
- OC数组
- OC数组
- OC 数组
- Linux和Windows下控制台字体颜色设置
- 简单模拟一下科目三的灯光考试
- 【POJ 2253】Frogger
- 跨浏览器的placehold
- java 基础----抽象类与接口的区别,知道区别才能准备的应用
- IOS--OC--LessonNSArray 数组
- [Java]学习笔记,随笔【三】
- 企业应用架构学习笔记
- HDU 1465
- Android开发之SD卡上文件操作
- leetcode刷题,总结,记录,备忘70
- 【leetcode c++】28 Implement strStr()
- 开始学习C++心得实例(6)
- Shell脚本[运算表达式,条件控制语句]