数组集合与字典
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组集合与字典相关的知识,希望对你有一定的参考价值。
数组 NSArray 静态数组 (不可变)count 记录了当前元素里面的个数
objectAtIndex 对象的位置(索引)
NSArray * [email protected][@"1",@"2",@"32"];
NSLog(@"%ld",[array count]);
//遍历数组
for (int i=0; i<[array count]; i++) {
NSLog(@"%@",[array objectAtIndex:i]);//objectAtIndex 对象在哪个位置
//c普通方法
NSLog(@"%@",array[i]);
}
//快速遍历方式
for (NSString * str in array) {
NSLog(@"%@",str);
}
动态数组
//arrayWithCapacity 指定空间大小 NSMutableArray * arr=[NSMutableArray arrayWithCapacity:20]; //增加成员 addObject: 拼接 stringWithFormat for (int i=0; i<10; i++) { [arr addObject:[NSString stringWithFormat:@"%d,%@",i+1,@"kjhkjh"]]; } //插入成员insertObject: 成员 atIndex:索引 [arr insertObject:@"a" atIndex:7]; //删除成员 [arr firstObject];//数组里面的第一个对象 // [arr removeAllObjects];//删除所有对象 // [arr removeLastObject];//删除最后的对象 // [arr removeObject:@"2"];//删除选中的对象 // [arr removeObjectAtIndex:2];//根据下标删除对象 for (NSString * str in arr) { NSLog(@"%@",str); }
集合 NSSet
集合里面的内容是唯一(重复值只保存一个)的,无序的 先把集合的内容带入一个素组里 再遍历数组排序
NSSet * set = [NSSet setWithObjects:@"1",@"2",@"3",@"2", nil]; NSArray * arr=[set allObjects]; arr=[arr sortedArrayUsingSelector:@selector(compare:)];//排序 for(NSString * str in arr) { NSLog(@"%@",str); }
动态集合 NSMutableSet
NSMutableSet * set=[NSMutableSet setWithCapacity:20]; [set addObject:@"1"]; [set addObject:@"2"]; [set addObject:@"3"]; [set addObject:@"1"];//内容重复了只显示一个 [set removeObject:@"1"];//删除 1 的成员 for(NSString * str in set) { NSLog(@"%@",str); }
字典 一个建对应一个值
字典里面有两个数组 一个是关键字(建)的数组 一个是值的数组 一般是通过关键字(建)遍历
NSDictionary * dict [email protected]{@"1":@"1111",@"2":@"2222"}; NSArray * keys =[dict allKeys];//allKeys属性 返回所有的关键字 for (NSString * str in keys) { //键的对象 objectForKey NSLog(@"key=%@,vallu=%@",str,[dict objectForKey:str]); }
第二种方法 类的行为 得到一个字典的对象
dictionaryWithObjectsAndKeys 一个对象对应一个建的创建
NSDictionary * dict=[NSDictionary dictionaryWithObjectsAndKeys:@"张三",@"1",@"李四",@"2",nil]; NSArray * keys =[dict allKeys];//allKeys属性 返回所有的关键字 for (NSString * str in keys) { //键的对象 objectForKey NSLog(@"key=%@,vallu=%@",str,[dict objectForKey:str]); }
第三种方法
NSDictionary * dict =[[NSDictionary alloc]initWithObjectsAndKeys:@"张三",@"1",@"李四",@"2", nil]; NSArray * keys =[dict allKeys];//allKeys属性 返回所有的关键字 for (NSString * str in keys) { //键的对象 objectForKey NSLog(@"key=%@,vallu=%@",str,[dict objectForKey:str]); }
动态字典 NSMutableDictionary
NSMutableDictionary * dict=[[NSMutableDictionary alloc]initWithCapacity:20]; [dict setObject:@"张三" forKey:@"1"]; [dict setObject:@"张5" forKey:@"1"]; [dict setObject:@"李四" forKey:@"2"]; NSArray * keys =[dict allKeys]; for (NSString * str in keys) { //键的对象 objectForKey NSLog(@"key=%@,vallu=%@",str,[dict objectForKey:str]); }
以上是关于数组集合与字典的主要内容,如果未能解决你的问题,请参考以下文章