OC语言学习04-数组
来源:互联网 发布:gameloft java游戏 编辑:程序博客网 时间:2024/06/02 04:50
#import <Foundation/Foundation.h>
//NSArray 创建不可变数组对象
//OC中的数组是对象的有序集合
//数组存储的是对象的地址(对象的引用)
//不可变数组一旦被创建,不可以继续添加,删除,或者修改
//数组中的元素可以为不同类型的对象
//数值的访问通过数值的下标访问下标从0开始
int main(int argc,const char * argv[]) {
@autoreleasepool {
NSArray *array1 =@[@"one",@"two", @"three", [NSNumbernumberWithInt:456]];
NSLog(@"array1 = %@", array1);
//数组的创建及初始化
NSArray *array2 = [[NSArrayalloc] init];
NSLog(@"array2 = %@", array2);
NSArray *array3 = [[NSArrayalloc] initWithObjects:@"four",@"five", @"six",nil ];
NSLog(@"array3 = %@", array3);
//通过传入的数组创建数组对象
NSArray *array4 = [[NSArrayalloc] initWithArray:array1];
NSLog(@"array4 = %@", array4);
NSArray *array5 = [[NSArrayalloc] initWithArray:array3copyItems:YES];
NSLog(@"array5 = %@", array5);
//常用的类方法;
//通过类方法创建一个空数组对象;
NSArray *array6 = [NSArrayarray];
//用类方法传入数组元素创建数组对象
NSArray *array7 = [NSArrayarrayWithObjects:@"seven",@"eight", @"nine",nil];
//通过传入数组对象创建数组
NSArray *array8 = [NSArrayarrayWithArray:array7];
//创建一个数组对象
NSArray *array9 = [NSArrayarrayWithObject:@"ten"];
//数组元素的访问
//获取数组元素的个数
NSInteger count = [array1count];
NSLog(@"count = %li", count);
//获取指定索引位置的数组对象
id obj1 = [array1objectAtIndex:2];
NSLog(@"obj1 = %@", obj1);
//使用C语言中下标访问
NSLog(@"obj1 = %@", array1[2]);
//获取数组元素在数组中第一次出现的位置
NSInteger index = [array1indexOfObject:@"three"];
NSLog(@"%li", index);
//获取数组中第一个和最后一个元素
NSLog(@"第一个元素 = %@", [array3 firstObject]);
NSLog(@"最后一个元素 = %@", [array3 lastObject]);
//数组的比较
NSArray *array10 =@[@"D",@"C", @"B",@"A"];
NSArray *array11 = [NSArrayarrayWithObjects:@"one",@"two",@"three",nil];
BOOL ret = [array10isEqualToArray:array11];
if(ret ==YES) {
NSLog(@"相等");
}
else {
NSLog(@"不相等");
}
//返回两个数组中第一个相等的元素
id obj2 = [array10firstObjectCommonWithArray:array11];
NSLog(@"%@",obj2);
//数组排序---通常排序的数组的元素是相同类型的
//通常排序数组默认是以从小到大的顺序
//- (NSArray<ObjectType> *)sortedArrayUsingSelector:(SEL)comparator;
//@selector生成选择器
//规则方法的返回值为>0的数的时候。底层交换两个数组元素的位置
NSArray *sortArray = [array10sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"sortArray = %@", sortArray);
}
return0;
}
- OC语言学习04-数组
- OC语言学习05-数组的操作
- OC语言--数组&字典
- OC语言数组
- IOS学习之OC语言数组的排序方法
- OC数组学习
- [oc学习笔记]数组
- OC语言学习-其他
- oc语言学习
- OC语言学习1
- OC语言学习1
- oc语言的学习
- OC学习--数组的使用
- OC篇学习-数组
- OC学习日记07-数组
- my学习OC--基本数组
- OC学习记录2:数组
- OC编程语言学习-1
- requirejs原理深究以及r.js和gulp的打包
- composer入门
- JPush极光推送会有时绑定不了registrationID的解决方法
- 翻译《有关编程、重构及其他的终极问题?》——28.如果你可以使用简单的函数就不要使用宏
- java-day03-reflect-Field
- OC语言学习04-数组
- vue-router实现路由懒加载
- 怎么解决TortoiseGit每次Pull或者Push都需要输用户名密码的问题
- Python读取目录下子文件
- redis最大缓存设置策略
- composer的安装
- 会java的你,能找出其中的问题吗
- asp网站在IIS布局
- 解读continuous control with deep reinforcement learning(DDPG)