一.NSArray数组
特点:
a.数组是有序的连续空间,可以通过下标索引访问,下标从0开始
b.数组中只可以存储相同数据类型且值相同的元素, 且只能存储对象类型,但对象类型不做任何限制。
c.OC中数组类型只有NSArray和NSMutabileArray两种类型
d.OC中数组没有二维数组的概念,数组可以直接嵌套数组.
1.基础语法
①.笑笑语法
NSArray *arr1 =@[@"Frank",@"Lanou",@1,@"Frank",@"蓝鸥",@3.14];
数组结合遍历使用
for (int i = 0; i<6; i++) {
NSLog(@"%@",arr1[i]);
}
②.初始化方法
NSString *num = [NSNumber numberWithInt:1];
NSArray *arr2 = [[NSArray alloc]initWithObjects:@1,@2,@3,@4,@5, nil];
③. 遍历构造器
NSArray *arr3 =[NSArray arrayWithObjects:@1.1,@1.2,@1.3,@1.4,@1.5,nil];
2. NSArray的操作函数
①.获取元素个数:属性count
NSArray *a1 = @[@('A'),@('B'), @('C'), @('D'), @('E'),@"abc"];
int count = (int)a1.count;
②.获取某下标对应的元素:笑笑语法就是array[index];
NSNumber *n1 = [a1 objectAtIndex:2];
NSString *s1 = [a1 objectAtIndex:2];
③.判断数组中是否包含某一元素:关键词contain
BOOL isTrue = [a1 containsObject:@('E')];
④.获取某一个元素的下标 :关键词index
int index1 =(int)[a1 indexOfObject:@69];
⑤.NSString按照特定字符串 裁剪(Separate) 得到 NSArray
(NSArray<NSString *> *)componentsSeparatedByString:(NSString *)separator;
注:(NSArray<NSString *> *):返回值是元素都是NSString对象类型的数组(NSArray)对象
NSString *strURL = @"www.baidu.com";
NSArray *array2 = [strURL componentsSeparatedByString:@"."];
⑥.NSArray 中的各个元素按照指定字符串 拼接(component) 成NSString
strURL = [array2 componentsJoinedByString:@"*"];
NSString *str = @"http://www.imanhua.com/Cover/2011- 10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg";
将字符串str裁剪后可转换为数组
NSArray *array3 = [str componentsSeparatedByString:@"&"];
```
## 二.NSDictionary
特点:
a.字典以 key -- value 键值对 存储数据, 和类很类似
b.字典存储数据是无序,通过key值获得对应的value
c.key是唯一确定的,一个key对应一个value;value没有要求,一个value可以对应多个key.
1.笑笑语法 : key和value之间用: 隔开,和其他key-value以逗号隔开
NSDictionary *dic1 = @{@"name":@"zhangsan", @"age":@18, @"gender": @"male"};
2.初始化方法
NSDictionary *dic2 = [[NSDictionary alloc]initWithObjectsAndKeys:@1,@"num1", @2,@"num2",@1,@"num3", @4,@"num2",nil];
3.遍历构造器
NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@1,@"num1", @2,@"num2",@1,@"num3",nil];
4.键值对数量 : 属性.count
NSLog(@"%lu", dic3.count);
5.获得所有的keys 和所有的value
NSArray *keys = dic3.allKeys;
NSArray *values = dic3.allValues.
6.通过key来取对应的value
NSNumber *dNum1 = [dic3 objectForKey:@"num1"];
##三.NSSet
特点:
a.互异性:不能出现相同的对象 -- 用于解决重用问题
b.无序性:存储数据无序,应用范围不广
1.初始化方法和遍历构造器
NSSet *set1 = [[NSSet alloc]initWithObjects:@1,@2,@1,@3, nil];
NSSet *set2 = [NSSet setWithObjects:@1,@2,@3,nil];
2.对象个数: 属性count
set1.count
3.所有元素
set1.allObjects
######欢迎加群192699811讨论,相互学习
网友评论