❀自我唠嗑OC-数组类,字典类,集合类
来源:互联网 发布:淘宝口令是什么意思啊 编辑:程序博客网 时间:2024/06/07 03:45
/——————————————–数组NSArray———————————————/
//一个有序集合,管理有序的组的对象时使用
//初始化 NSArray *array1 = [[NSArray alloc]initWithObjects:@"A",@"B",@"C",@"D",nil]; NSLog(@"array1=%@",array1); NSArray *array2 = [[NSArray alloc] initWithArray:array1]; NSLog(@"array2=%@",array2); //便利构造器 NSArray *array3 = [NSArray arrayWithObjects:@"w",@"x",@"y",@"z",nil]; NSLog(@"array3=%@",array3); //语法糖 NSArray *array = @[@"A",@"B",@"C"]; NSLog(@"array=%@",array);
//获取数组内元素个数 //- (NSUInteger)count; char count = [array1 count]; NSLog(@"array1 count=%d",count); NSLog(@"%lu",[array1 count]); //返回指定索引的数组元素 //- (id)objectAtIndex:(NSUInteger)index; NSLog(@"%@",[array1 objectAtIndex:[array1 count] - 2]); NSLog(@"%@",[array1 objectAtIndex:2]); NSLog(@"%@",array1[2]); //判断数组中是否包含某个给定对象 //- (BOOL)containsObject:(id)anObject; NSLog(@"%@",[array1 containsObject:@"D"] ? @"YES" : @"NO"); //追加对象 //- (NSArray *)arrayByAddingObject:(id)anObject; NSLog(@"%@",[array1 arrayByAddingObject:@"F"]); //追加其他数组 //- (NSArray *)arrayByAddingObjectsFromArray:(NSArray *)otherArray; NSArray *array4 = [array1 arrayByAddingObjectsFromArray:array3]; NSLog(@"追加后为:%@",array4); //NSLog(@"%@",[array1 arrayByAddingObjectsFromArray:array3]); //获取数组中元素对象的下标 //- (NSUInteger)indexOfObject:(id)anObject; NSUInteger uint = [array1 indexOfObject:@"C"]; NSLog(@"下标:%lu",uint); //分割字符串存入数组 //- (NSArray<NSString *> *)componentsSeparatedByString:(NSString *)separator; NSString *string = @"www.baidu.com"; NSArray *array5 = [string componentsSeparatedByString:@"."]; NSLog(@"%@",array5); //分割数组为字符串 //- (NSString *)componentsJoinedByString:(NSString *)separator; NSString *string1 = [array1 componentsJoinedByString:@","]; NSLog(@"%@",string1); //NSLog(@"%@",[array1 componentsJoinedByString:@","]);
/————————————可变数组NSMutableArray————————————/
//初始化 NSMutableArray *MutableArray = [[[NSMutableArray alloc] initWithObjects:@"blue",@"gray",@"green",nil] autorelease]; //便利构造器 NSMutableArray *MutableArray1 = [NSMutableArray arrayWithCapacity:0]; //语法糖 NSMutableArray *MutableArray2 = [@[@"January",@"February",@"March",@"April"] mutableCopy];
//添加对象 //- (void)addObject:(id)anObject; [MutableArray addObject:@"sky"]; NSLog(@"%@",MutableArray); //指定索引位置插入对象 //- (void)insertObject:(id)anObject atIndex:(NSUInteger)index; [MutableArray insertObject:@"red" atIndex:1]; NSLog(@"%@",MutableArray); //移除最后一个对象 //- (void)removeLastObject; [MutableArray removeLastObject]; NSLog(@"%@",MutableArray); //移除指定索引位置对象 //- (void)removeObjectAtIndex:(NSUInteger)index; [MutableArray removeObjectAtIndex:1]; NSLog(@"%@",MutableArray); //替换指定索引位置对象 //- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject; [MutableArray replaceObjectAtIndex:1 withObject:@"black"]; NSLog(@"%@",MutableArray); //销毁数组 //- (void)removeAllObject; [MutableArray removeAllObjects]; NSLog(@"%@",MutableArray); //交互指定索引之间的对象 //- (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2; [MutableArray2 exchangeObjectAtIndex:0 withObjectAtIndex:2]; NSLog(@"%@",MutableArray2); //移除指定对象 //- (void)removeObject:(id)anObject; [MutableArray2 removeObject:@"April"]; NSLog(@"%@",MutableArray2); //移除指定区域指定对象,根据对象isEqual消息判断 //- (void)removeObject:(id)anObject inRange:(NSRange)range; [MutableArray2 removeObject:@"March" inRange:NSMakeRange(0, 2)]; NSLog(@"%@",MutableArray2); //指定(数组B的指定区域)的元素替换(数组A的指定区域) //- (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray *)otherArray range:(NSRange)otherRange; NSMutableArray *MutableArray3 = [NSMutableArray arrayWithObjects:@"May",@"June",@"July",nil]; [MutableArray2 replaceObjectsInRange:NSMakeRange(0, 1) withObjectsFromArray:MutableArray3 range:NSMakeRange(0, 2)]; NSLog(@"%@",MutableArray2); //追加数组A到数组B //- (void)addObjectsFromArray:(NSArray *)otherArray; NSMutableArray *MutableArray4 = [NSMutableArray arrayWithObjects:@"August", nil]; [MutableArray2 addObjectsFromArray:MutableArray4]; NSLog(@"%@",MutableArray2);
//OC冒泡排序 NSMutableArray *muArray = [NSMutableArray array]; for (int i = 0; i < 10; i++) { NSNumber *num = [NSNumber numberWithInteger:arc4random() % 90]; [muArray addObject:num]; } for (int i = 0; i < [muArray count] - 1; i++) { for (int j = 0; j < [muArray count] - 1 - i; j++) { if ([muArray[j] integerValue] > [muArray[j + 1] integerValue]) { [muArray exchangeObjectAtIndex:j withObjectAtIndex:j + 1];//直接将索引对象交换 } //方法2// if (muArray[j] > muArray[j + 1]) {// int a = [muArray [j] intValue];// int b = [muArray[j + 1] intValue];// if (a > b) {// NSString *max = muArray[j];// muArray[j] = muArray[j + 1];// muArray[j + 1] = max;// }// } } } NSLog(@"%@",muArray);
/—————————————-字典NSDictionary——————————————/
//无序集合,存储对象为各个键值对,获取数据时需使用对应的key操作,一个value 对应一个key
//字典初始化 NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"apple",@"name",@"pear",@"name1",@"melon",@"name2",@"grape",@"name3", nil]; //便利构造器 NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"apple",@"name",@"pear",@"name1",@"melon",@"name2",@"grape",@"name3", nil]; //字面量 NSDictionary *dic2 = @{@"key1":@"apple",@"key2":@"pear"};
//获得所有的key NSArray *keyArray = [dic allKeys]; NSLog(@"%@",keyArray); //获得所有value NSArray *valueArray = [dic1 allValues]; NSLog(@"%@",valueArray); //通过key找到value NSLog(@"%@",[dic objectForKey:@"name3"]);
/——————————-可变字典NSMutableDictionary———————————-/
//初始化 NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"apple",@"name",@"pear",@"name1",@"melon",@"name2",@"grape",@"name3", nil]; //向词典中动态添加数据,key相同则替换掉value,如没相同key则添加value; //-(void)setObject:(id)anObject forKey:(id<NSCopying>)akey //NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; [dictionary setObject:@"lemon" forKey:@"name"]; NSLog(@"%@",dictionary); //通过key移除某个value //- (void)removeObjectForKey:(id)aKey; [dictionary removeObjectForKey:@"name2"]; NSLog(@"%@",dictionary); //销毁所有字典所有数据 //- (void)removeAllObjects; [dictionary removeAllObjects]; NSLog(@"%@",dictionary);
/———————————————集合NSSet———————————————-/
//无序容器,容器中对象不能重复,不可变集合一旦创建,集合中的对象无法修改,只能从集合中读取对象,并且没有快速创建集合对象的字面量
//初始化 NSSet *nam = [[NSSet alloc] initWithObjects:@"apple",@"pear",@"grape", nil]; //便利构造器 NSSet *nam1 = [NSSet setWithObjects:@"apple",@"pear",@"grape", nil];
//获取集合中对象的个数 //@property (readonly) NSUInteger count; NSLog(@"%lu",[nam count]); //获取集合中所有的对象 //@property (readonly, copy) NSArray //*allObjects; NSLog(@"%@",[nam allObjects]); //从集合获取任意一个对象 //- (id)anyObject; NSLog(@"%@",[nam1 anyObject]); //判断集合中是否包含某一个指定的对象 //- (BOOL)containsObject:(id)anObject; NSLog(@"contain:%d",[nam1 containsObject:@"grape"]); //判断两个集合是否匹配 NSLog(@"isEqual:%d",[nam1 isEqual:nam]);
/—————————————-NSMutableSet创建—————————————-/
//初始化方法 //NSMutableSet *name = [[NSMutableSet alloc] initWithCapacity:0]; //便利构造器 //NSMutableSet *name1 = [NSMutableSet setWithCapacity:0]; NSMutableSet *color = [[NSMutableSet alloc] initWithObjects:@"red",@"yellow",@"blue", nil]; //添加一个对象 //- (void)addObject:(id)object; [color addObject:@"green"]; NSLog(@"%@",color); //NSLog(@"%@",[color addObject:@"green"]); //移除一个对象 //- (void)removeObject:(id)object; [color removeObject:@"red"]; NSLog(@"%@",color); //移除所有对象 //- (void)removeAllObjects; [color removeAllObjects]; NSLog(@"%@",color);
❀❀三类写法大同小异,运用十分频繁,加强练习提高熟练程度❀❀
0 1
- ❀自我唠嗑OC-数组类,字典类,集合类
- ❀自我唠嗑OC-集合遍历和数组排序
- ❀自我唠嗑OC-字符串
- ❀自我唠嗑OC-省市区排序
- OC中的容器类及其功能方法:数组,字典,集合
- OC-集合类(数组)
- OC数组字典集合
- OC--数组、字典、集合
- OC基础第5讲)字典类 {集合类 数组,字典,集合的快速遍历 数组排序}
- OC学习第五天_字典、集、数组排序:字典类、集合类、数组数组排序、字典、集合的快速遍历、数组排序
- ❀自我唠嗑-UI-UIView
- ObjectC----字典类和集合类以及快速枚举和OC中的数组排序
- OC中的数组、字典、集合
- OC - 第五章 集合 ( 数组、字典、集合 )
- oc之常用类(二)字典,集合
- day5: 字典、集、数组排序:字典类、集合类、数组数组排序、字典、集合的快速遍历、数组排序
- oc字典类总结
- OC的字符串 数组 字典 集合
- 腾讯公布虚拟现实头显方案、SDK以及开发者计划
- 如何使用Golang来处理支付宝的回调
- Learning Python(6)--Python的命令行解析argparse模块
- 39节课后3解
- web开发基础1
- ❀自我唠嗑OC-数组类,字典类,集合类
- 理解矩阵(一)
- NvidiaCUDA通用计算简介及优化方法概述
- [转]在Eclipse中使用JUnit4进行单元测试(中级篇)
- 【郑轻】[1748]Math One!
- 图形学优化_3: bridge(桥接模式)和proxy(代理)
- Canva绘制时钟
- 素因子分解超快的Pollard_rho算法
- 理解矩阵(二)