(十)黑马程序员——Foundation框架之数组与字典
2015-10-25 00:41
381 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流!-------
例10、NSArray、NSDctionary、NSMutableArray、NSMutableDctionary的基本使用
一、NSArray的基本使用
1、NSArray的创建方式
//(1)类方法创建
NSArray *array1 = [NSArrayarrayWithObjects:@"I",@"LOVE",@"YOU",nil];
NSLog(@"array1 = %@",array1);
//(2)对象方法创建
NSArray *array2 = [[NSArrayalloc]initWithObjects:@"I",@"get",@"100",@"dollors",nil];
NSLog(@"array2 = %@",array2);
//(3)使用已存在数组创建新的数组
NSArray *array3 = [[NSArrayalloc]initWithArray:array1];
NSLog(@"array3 = %@",array3);
2、NSArray的常见方法
//(1)获取元素个数
NSLog(@"array1的元素个数 = %ld",array1.count);
//(2)判断是否包含某元素
NSLog(@"%d",[array2containsObject:@"100"]);
//(3)返回最后一个元素
NSLog(@"array1的最后一个元素:%@",array1.lastObject);
//(4)返回第一个元素
NSLog(@"array2的第一个元素:%@",array2.firstObject);
//(5)查找元素在数组中位置
NSLog(@"元素LOVE在array3中的位置为:%ld",
[array3 indexOfObject:@"LOVE"]);
3、NSArray的遍历方法
//(1)下标遍历
for (int i =0; i<array1.count; i++)
{
NSLog(@"array1[%d] = %@",i,array1[i]);
}
//(2)快速遍历
for (NSString *strin array2)
{
NSLog(@"%@",str);
}
//(3)使用block遍历
[array3 enumerateObjectsUsingBlock:^(id obj,NSUInteger idx, BOOL *stop)
{
NSLog(@"arry3[%ld] = %@",idx,obj);
}];
5、NSArray与字符串
//(1)把数组元素链接成字符串
NSString *str1 = [array1componentsJoinedByString:@"*"];
NSLog(@"str1 = %@",str1);
//(2)字符串分割方法
NSArray *arr = [str1componentsSeparatedByString:@"*"];
NSLog(@"arr = %@",arr);
二、NSMutableArray的基本使用方法
//(1)创建空数组
NSMutableArray *array4 = [NSMutableArrayarray];
NSMutableArray *array5 = [NSMutableArrayarray];
//(2)添加一个元素
[array4 addObject:@"i love you"];
[array5 addObject:@"you are the best"];
[array5 addObject:@"wonderful"];
NSLog(@"array4 = %@",array4);
//(3)添加otherArray的全部元素到当前数组中
[array4 addObjectsFromArray:array5];
NSLog(@"array4 = %@",array4);
//(4)在index位置插入一个元素
[array4 insertObject:@"baby"atIndex:1];
NSLog(@"array4 = %@",array4);
//(5)删除最后一个元素
[array4 removeLastObject];
NSLog(@"array4 = %@",array4);
//(6)删除所有元素
[array4 removeAllObjects];
NSLog(@"array4 = %@",array4);
//(7)删除index位置的元素
[array5 removeObjectAtIndex:0];
NSLog(@"array5 = %@",array5);
三、NSDictionary的基本使用
//(1)NSDictionary的创建
NSDictionary *dic1 = [NSDictionarydictionaryWithObjectsAndKeys:@"zhangsan",@"zs",@"niubai",@"nb",nil];
NSDictionary *dic2 =@{@"xg":@"xiagao",@"sb":@"sabai"};
NSLog(@"%@",dic1);
NSLog(@"%@",dic2);
//(2)NSDictionary的基本使用方法
//1.返回键值对的数目
NSLog(@"dic1的键值对的数目:%ld",dic1.count);
//2.根据key取出value
NSLog(@"%@", [dic1objectForKey:@"zs"]);
//(3)NSDictionary遍历方法
//1.快速遍历
for (NSString *strin dic1)
{
NSLog(@"%@", str);
}
//2.使用block遍历
[dic1 enumerateKeysAndObjectsUsingBlock:^(id key,id obj, BOOL *stop)
{
NSLog(@"key = %@,value = %@", key,obj);
}];
四、NSMutbleDictionary常用方法
//(1)快速创建可变字典
NSMutableDictionary *dict2 = [NSMutableDictionarydictionary];
dict2.dictionary =@{@"name":@"bob",@"age":@"18"};
NSLog(@"dict2 = %@",dict2);
//(2)添加一个键值对
[dict2 setValue:@"man"forKey:@"sex"];
NSLog(@"添加键值对后的dict2 = %@",dict2);
//(3)通过aKey删除对应的value
[dict2 removeObjectForKey:@"name"];
NSLog(@"dict2 = %@",dict2);
//(4)删除所有键值对
[dict2 removeAllObjects];
NSLog(@"dict2 = %@",dict2);
五、NSArray与NSDctionary的对比
1、NSArray是有序的,NSDctionary是无序的
2、NSArray是通过下标访问元素,NSDctionary是通过key访问元素
六、学习心得
1、在这篇博文里,我又将Foundation框架中数组和字典的知识全面复习了一遍,几乎涵盖了主要的数字和字典的基本使用方法,进一步加深了自己在这方面的记忆。
2、转眼间,这已经是我的第10篇博文了,非常开心自己能每天在确保复习进度的同时,能坚持早晚各写一篇博文,虽然每篇博文从选择题目、编写程序到博文编写需要花费不少于3个小时,但我觉得这个过程非常值得,写完这10篇博文,其实也是我重新复习完所有的c语言、oc基础和Foundation框架知识,整个人感觉又前进了一大步。
3、还是非常感谢黑马程序员让我养成了写技术博客日记的习惯,我想在以后的ios开发过程中,我还是会继续保持写博文分享自己的学习心得的习惯。
例10、NSArray、NSDctionary、NSMutableArray、NSMutableDctionary的基本使用
一、NSArray的基本使用
1、NSArray的创建方式
//(1)类方法创建
NSArray *array1 = [NSArrayarrayWithObjects:@"I",@"LOVE",@"YOU",nil];
NSLog(@"array1 = %@",array1);
//(2)对象方法创建
NSArray *array2 = [[NSArrayalloc]initWithObjects:@"I",@"get",@"100",@"dollors",nil];
NSLog(@"array2 = %@",array2);
//(3)使用已存在数组创建新的数组
NSArray *array3 = [[NSArrayalloc]initWithArray:array1];
NSLog(@"array3 = %@",array3);
2、NSArray的常见方法
//(1)获取元素个数
NSLog(@"array1的元素个数 = %ld",array1.count);
//(2)判断是否包含某元素
NSLog(@"%d",[array2containsObject:@"100"]);
//(3)返回最后一个元素
NSLog(@"array1的最后一个元素:%@",array1.lastObject);
//(4)返回第一个元素
NSLog(@"array2的第一个元素:%@",array2.firstObject);
//(5)查找元素在数组中位置
NSLog(@"元素LOVE在array3中的位置为:%ld",
[array3 indexOfObject:@"LOVE"]);
3、NSArray的遍历方法
//(1)下标遍历
for (int i =0; i<array1.count; i++)
{
NSLog(@"array1[%d] = %@",i,array1[i]);
}
//(2)快速遍历
for (NSString *strin array2)
{
NSLog(@"%@",str);
}
//(3)使用block遍历
[array3 enumerateObjectsUsingBlock:^(id obj,NSUInteger idx, BOOL *stop)
{
NSLog(@"arry3[%ld] = %@",idx,obj);
}];
5、NSArray与字符串
//(1)把数组元素链接成字符串
NSString *str1 = [array1componentsJoinedByString:@"*"];
NSLog(@"str1 = %@",str1);
//(2)字符串分割方法
NSArray *arr = [str1componentsSeparatedByString:@"*"];
NSLog(@"arr = %@",arr);
二、NSMutableArray的基本使用方法
//(1)创建空数组
NSMutableArray *array4 = [NSMutableArrayarray];
NSMutableArray *array5 = [NSMutableArrayarray];
//(2)添加一个元素
[array4 addObject:@"i love you"];
[array5 addObject:@"you are the best"];
[array5 addObject:@"wonderful"];
NSLog(@"array4 = %@",array4);
//(3)添加otherArray的全部元素到当前数组中
[array4 addObjectsFromArray:array5];
NSLog(@"array4 = %@",array4);
//(4)在index位置插入一个元素
[array4 insertObject:@"baby"atIndex:1];
NSLog(@"array4 = %@",array4);
//(5)删除最后一个元素
[array4 removeLastObject];
NSLog(@"array4 = %@",array4);
//(6)删除所有元素
[array4 removeAllObjects];
NSLog(@"array4 = %@",array4);
//(7)删除index位置的元素
[array5 removeObjectAtIndex:0];
NSLog(@"array5 = %@",array5);
三、NSDictionary的基本使用
//(1)NSDictionary的创建
NSDictionary *dic1 = [NSDictionarydictionaryWithObjectsAndKeys:@"zhangsan",@"zs",@"niubai",@"nb",nil];
NSDictionary *dic2 =@{@"xg":@"xiagao",@"sb":@"sabai"};
NSLog(@"%@",dic1);
NSLog(@"%@",dic2);
//(2)NSDictionary的基本使用方法
//1.返回键值对的数目
NSLog(@"dic1的键值对的数目:%ld",dic1.count);
//2.根据key取出value
NSLog(@"%@", [dic1objectForKey:@"zs"]);
//(3)NSDictionary遍历方法
//1.快速遍历
for (NSString *strin dic1)
{
NSLog(@"%@", str);
}
//2.使用block遍历
[dic1 enumerateKeysAndObjectsUsingBlock:^(id key,id obj, BOOL *stop)
{
NSLog(@"key = %@,value = %@", key,obj);
}];
四、NSMutbleDictionary常用方法
//(1)快速创建可变字典
NSMutableDictionary *dict2 = [NSMutableDictionarydictionary];
dict2.dictionary =@{@"name":@"bob",@"age":@"18"};
NSLog(@"dict2 = %@",dict2);
//(2)添加一个键值对
[dict2 setValue:@"man"forKey:@"sex"];
NSLog(@"添加键值对后的dict2 = %@",dict2);
//(3)通过aKey删除对应的value
[dict2 removeObjectForKey:@"name"];
NSLog(@"dict2 = %@",dict2);
//(4)删除所有键值对
[dict2 removeAllObjects];
NSLog(@"dict2 = %@",dict2);
五、NSArray与NSDctionary的对比
1、NSArray是有序的,NSDctionary是无序的
2、NSArray是通过下标访问元素,NSDctionary是通过key访问元素
六、学习心得
1、在这篇博文里,我又将Foundation框架中数组和字典的知识全面复习了一遍,几乎涵盖了主要的数字和字典的基本使用方法,进一步加深了自己在这方面的记忆。
2、转眼间,这已经是我的第10篇博文了,非常开心自己能每天在确保复习进度的同时,能坚持早晚各写一篇博文,虽然每篇博文从选择题目、编写程序到博文编写需要花费不少于3个小时,但我觉得这个过程非常值得,写完这10篇博文,其实也是我重新复习完所有的c语言、oc基础和Foundation框架知识,整个人感觉又前进了一大步。
3、还是非常感谢黑马程序员让我养成了写技术博客日记的习惯,我想在以后的ios开发过程中,我还是会继续保持写博文分享自己的学习心得的习惯。
相关文章推荐
- ——黑马程序员—— 编程时代码这样写才漂亮
- 黑马程序员--异常
- 【面试】2016校园招聘面试--京东
- 黑马程序员--数组
- 黑马程序员--静态,单例模式以及继承
- 程序员加薪的新方法
- [非凡程序员] 杨茹
- 黑马程序员--Java基础(2)
- 黑马程序员--Java基础(1)
- 关于招聘的面试和笔试
- 面试题29:数组中出现次数超过一半的数字
- 面试题
- 面试题2015
- 面试题
- 黑马程序员——Java基础语法 之面向对象(概念,特征,this,static关键字,代码块)
- 百度面试题2012
- 黑马程序员—————字符流与字节流学习笔记
- 黑马程序员—浅谈反射与内省
- 程序员最应该投资的是这十件事
- 2015年京东面试题