NSDictionary NSMutableDictionary NSSet NSMutableSet
//description只是返回了一个字符串
// [person description];
// //如果想要打印需要NSLog
// NSLog(@"%@", [person description]);
//打印一个对象,实质打印的是description返回的字符串,如果没有重写description方法,系统默认打印<类名:指针[CDATA[]]>
// NSLog(@"%@", person);
// NSDictionary:不可变字典类,一旦被创建,不能修改:以key-value(键-值)的形式存放数据
// name:mike age:18
//创建
// NSDictionary *dic = [NSDictionary dictionaryWithObject:@"mike" forKey:@"name"];
// NSLog(@"%@", dic);
// name:mike age:18
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"mike", @"name", @"18", @"age", nil];
// NSLog(@"%@", dic);
//通过键,访问值
[dic objectForKey:@"name"];
NSLog(@"%@", [dic objectForKey:@"name"]);
// name:mike age:18 name:helio age:16
// NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"mike", @"name", @"18", @"age", @"helio", @"name1", @"18", @"age1", nil];
// NSLog(@"%@", dic);
// NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"mike", @"name", @"18", @"age", nil];
// NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"helio", @"name", @"18", @"age", nil];
//字典中以key-value存储,
//字典中key是唯一的,
//字典中的key对应的value可以重复
//创建具有多个键值对的字典时,以nil结束
//key和value不能为nil,会抛出异常
//访问字典中的元素,和数组不同,不是用的下标,而是通过键值,访问值
// NSLog(@"%@", [dic objectForKey:@"name"]);
//创建字典
//name:xiaoming age:18 gender:男 score:99.9
// NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"xiaoming", @"name", @"18", @"age", @"男", @"gender", @"99.9", @"score", nil];
// NSLog(@"%@", dic);
// //获取字典的键值对(实体)个数
// [dic count];
// NSLog(@"%lu", [dic count]);
//
// //获取所有的key
// [dic allKeys];
// NSLog(@"%@", [dic allKeys]);
//
// //获取所有的value值
// [dic allValues];
// NSLog(@"%@", [dic allValues]);
//
// //通过key值获取对应的value值(由于key不能重复,找到的只有一个value)
//
// [dic objectForKey:@"name"];
// NSLog(@"%@", [dic objectForKey:@"name"]);
// [dic objectForKey:@"age"];
// [dic objectForKey:@"gender"];
// [dic objectForKey:@"score"];
//通过value值获取对应的key值(因为有相同value值得key有可能会有多个,返回的是一个数组)
// NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"1", @"1", @"2", @"1", @"3", @"1", @"4", nil];
// NSLog(@"%@", [dic1 allKeysForObject:@"1"]);
// NSMutableDictionary:可变字典
// NSMutableDictionary *mDic = [[NSMutableDictionary alloc] initWithCapacity:0];
////name:xiaoming age:18 gender:男 score:99.9
// [mDic setObject:@"xiaoming" forKey:@"name"];
// [mDic setObject:@"18" forKey:@"age"];
// [mDic setObject:@"男" forKey:@"gender"];
// [mDic setObject:@"99.9" forKey:@"score"];
// NSLog(@"%@", mDic);
// [mDic setObject:@"28" forKey:@"age"];
// NSLog(@"%@", mDic);
// setObject:forKey:
// 如果key不存在,就把key-value存入字典
// 如果key已经存在,就修改key对应的value值
//删除一个键值对(实体);
// [mDic removeObjectForKey:@"name"];
// NSLog(@"%@", mDic);
//删除所有键值对
// [mDic removeAllObjects];
// NSLog(@"%@", mDic);
//12
NSNumber *number = [[NSNumber alloc] initWithInt:12];
NSNumber *num2 = [NSNumber numberWithInt:12];
NSNumber *num3 = @12;
//1, 2, 3, 4
// NSArray *aray1 = [[NSArray alloc] initWithObjects:@1, @2, @3, @4, nil];
// NSArray *array2 = [NSArray arrayWithObjects:@1, @2, @3, @4, nil];
// NSArray *array = @[@"1",@"2", @"3", @"4"];
//遍历
// for (int i = 0; i < [array2 count]; i++) {
// NSLog(@"%@", array2[i]);
// }
//快速枚举
// for (NSNumber *number in array2) {
// NSLog(@"%@", number);
// }
// name:xiaoming age:18
// NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"xiaoming", @"name", @18, @"age", nil];
// NSDictionary *dictionary1 = [NSDictionary dictionaryWithObjectsAndKeys:@"xiaoming", @"name", @18, @"age", nil];
// NSDictionary *dictionary2 = @{@"name": @"xiaoming", @"age": @18};
//
//
// //字典的遍历
// NSArray *keys = [dictionary allKeys];
// for (int i = 0; i < [dictionary count]; i++) {
// NSLog(@"%@ : %@", keys[i], [dictionary objectForKey:keys[i]]);
// }
//
//
// //快速枚举,打印字典
// //对字典快速枚举,枚举的key
// for (NSString *key in dictionary1) {
// NSLog(@"%@: %@", key, [dictionary1 objectForKey:key]);
// }
//ios集合数据类型:NSArray,NSDictionary, NSSet
// NSSet:无序的不可变集合
// 创建集合对象
// NSSet *set = [[NSSet alloc] initWithObjects:@"a", @"b", @"c", nil];
////
// NSLog(@"%@", set);
//
//// 获取元素个数
//
// NSLog(@"%ld", [set count]);
//
//// 获取集合中的某个元素
//
// [set anyObject];
// NSLog(@"%@", [set anyObject]);
//
// [set member:@"aaa"];//判断是否存在aaa存在就返回不存在返回nil
//
//// 获取集合中是否包含某个对象
//
// BOOL flag = [set containsObject:@"%@"];
// NSMutableSet:无序的可变的集合类
//集合中的元素是不能重复的
//创建集合对象
NSMutableSet *mSet = [[NSMutableSet alloc] initWithCapacity:0];
//添加元素
[mSet addObject:@"aaa"];
[mSet addObject:@"bbb"];
NSLog(@"%@", mSet);
//删除元素
[mSet removeObject:@"aaa"];
NSLog(@"%@", mSet);
//删除所有集合
[mSet removeAllObjects];
NSLog(@"%@", mSet);
NSDictionary NSMutableDictionary NSSet NSMutableSet的更多相关文章
- 黑马程序员——OC语言Foundation框架 (2) NSArray NSSet NSDictionary\NSMutableDictionary
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)NSArray 1>NSArray :不可变数组 ①创建方法 ...
- Objective-C学习篇08—NSDictionary与NSSet
NSDictionary与NSMutableDictionary NSSet与NSMutableSte 字典 字典:字典分为可变字典NSDictionary和不可变字典NSMutableDiction ...
- 关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary
NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎 ...
- Foundation框架之NSArray、NSDictionary、NSSet及其Mutable类型
Foundation框架之NSArray.NSDictionary.NSSet及其Mutable类型 目录 概述——对Foundation框架集合类的理解 NSArray NSDictionary N ...
- NSArray,NSMutable和NSSet,NSMutableSet和NSDictionary,NSMutableDictionary用法
开始编写应用程序的代码时,可以利用大量的 Objective-C 框架.其中,为所有应用程序提供基本服务的 Foundation 框架尤为重要.Foundation 框架包括表示基本数据类型的值类(如 ...
- NSDictionary , NSMutableDictionary, NSMutableDictionary 和 NSMutableSet)相当于java的map、set
1 NSDictionary 和 NSMutableDictionary NSDictionary :就是java中的map; 放入对象是键值对 key-value , 同样 秉持了一样的原则,只 ...
- 黑马程序员——OC语言Foundation框架 NSArray NSSet NSDictionary\NSMutableDictionary
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一) NSNumber 将各种基本数据类型包装成NSNumber对象 @ ...
- OC中NSDictionary和NSSet简单操作
/** * 字典 存放键值对类型的数据 存放数据是无序的 */ // 字典在控制台输出是用{}包括起来的 // NSDictionary 不可变字典 // 1.创建对象 // 初始化方法 NSDic ...
- objective-c系列-NSDictionary&NSMutableDictionary
********************************************* NSDictionary ***************************************** ...
随机推荐
- Recursion递归
/*java.lang 核心包 如 String Math Integer System Thread等 拿来直接用 * java.awt 窗口工具 GUI * java.net 网络包 * java ...
- Springboot IDEA eclipse 打包
在开发springboot项目中,我们会进行打包发布项目,springboot推荐以jar包方式发布,相对之下 jar运行的效率比起war项目快很多. 打包切记: 1.查看项目里面有没有其他的main ...
- SearchEngine Note
[SearchEngine Note] 1.查全率. 2.查准率. 3.查全率与查准率的关系. 4.四大系统. 5.权威性网页反向链接多.网页的平均出席为25.7,即平均每一个网页含有25.7个指向其 ...
- in文件注意事项及详细解释
lammps做分子动力学模拟时,需要一个输入文件(input script),也就是in文件,以及关于体系的原子坐标之类的信息文件(data file)和势文件(potential file).lam ...
- A* 算法详解
最近刷bin巨的搜索进阶专题,做到一个需要A*算法来解决的题,于是开始学A*算法,十分有用处的算法,虽然看上去听复杂的,但其实原理很容易理解,下面转自一篇文章,讲得真的很好. 转:https://ww ...
- 第八章 高级搜索树 (xa1)红黑树:动机
- 慕课网access_token的获取(下)
接口调用返回的结果是两个字段:access_token和expires_in,所以需要创建一个实体类封装这两个字段 运行测试类WeixinTest.java控制台打印出错误信息 重置开发者密钥试试看 ...
- suse安装gcc,升级到4.8.5
前面这些是挂载iso,如果iso可以使用,就不需要下面几步. cd /etc/zypp/repos.d mkdir iso chmod -R 777 iso mount -o loop /media/ ...
- How Many Answers Are Wrong(带权并查集)
How Many Answers Are Wrong http://acm.hdu.edu.cn/showproblem.php?pid=3038 Time Limit: 2000/1000 MS ( ...
- [leetcode]173. Binary Search Tree Iterator 二叉搜索树迭代器
Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the ro ...