NSSet知识以及练习题
来源:互联网 发布:文学书籍推荐 知乎 编辑:程序博客网 时间:2024/06/05 02:13
#import <Foundation/Foundation.h>#import "Car.h"int main(int argc, const char * argv[]){ @autoreleasepool { /* 1.NSSet 集合(同样必须跟对象)<NSSNumbe转化成OC对象> NSArray与NSSet比较 相同:1.都用来存储OC对象 2.都不可以直接存储基本数据类型.结构体,枚举 3.本事不可变,但是都有一个可变的子类 区别:1.NSArray是有顺序的,NSSet没有顺序 2.NSSet里面的元素不可重复 */ //========================================================================// //创建空set,里面不能再添加元素// // // NSSet *set1 = [NSSet set];// // //创建空set,里面只有一个元素// NSSet *set2 = [NSSet setWithObject:@"abc"];// // //// Car *car1 = [Car new];// Car *car2 = [Car new];// NSSet *set3 = [NSSet setWithObjects:@"ccc",car1,car2,nil];////// //得到set元素的个数// NSUInteger count = set3.count;// count = [set3 count];// //打印set (无序输出)// NSLog(@"%@",set3);//// //获得set中得全部元素(返回值是NSArray)// NSArray *ary1 = [set3 allObjects];// // //取set中的一个元素(无序,只能取随机的一个元素)// [set3 anyObject];// //找set中有无某个元素,返回值是BOOL变量// [set3 containsObject:@"ccc"];//// //判断集合中是否包含了某个元素 =====1// if ([set3 containsObject:@"cc"]) {// NSLog(@"set3中有该对象");// }else{// NSLog(@"set3中没有改对象");// }// //判断集合中是否包含了某个元素 =====2// // if ([set3 member:car1]) {// NSLog(@"set3中有该对象");// }else{// NSLog(@"set3中没有改对象");// } //======================================================================== // // NSMutableSet 可变集合// // //初始化可变的集合// NSMutableSet *set5 = [NSMutableSet set];// // //添加元素// [set5 addObject:[Car new]];// // //把一个数组中的元素添加到当前set// NSArray *ary2 = @[@"jereh",@"ios"];// NSArray *ary3 = @[@"jereh",@"ios"];// NSArray *ary4 = @[@"jereh",@"ios"];// [set5 addObject:ary2];// [set5 addObject:ary3];// [set5 addObject:ary4];// NSLog(@"%@",set5);// // //删除元素// [set5 removeObject:@"ios"];// // //删除全部元素// [set5 removeAllObjects];// // //遍历set// for (id obj in set5 ) {// NSLog(@"%@",obj);// } //======================================================================== // /*// // NSDictionary 字典// // // */// // //创建字典(不可变)// NSDictionary *dict1 =[NSDictionary dictionary];// // // // //创建存了一个元素的字典// NSDictionary *dict2 = [NSDictionary dictionaryWithObject:@"jereh" forKey:@"name"];// // //取数据// NSLog(@"%@",[dict2 objectForKey:@"name"]);// // //+++++++++++++存多个数据+++++++++++// //通过两个数组(值,key)来存储信息 (对应位置存储)// NSArray *aryValue = @[@"jereh",@"20",@"1",@"300"];// NSArray *aryKeys = @[@"name",@"age",@"no",@"add"];// NSDictionary *dict3 = [NSDictionary dictionaryWithObjects:aryValue forKeys:aryKeys];// NSLog(@"字典信息:%@",dict3);// // //存储多个信息(一个值.一个Key,一个值.一个Key,一个值.一个Key.......)// NSDictionary *dict4 = [NSDictionary dictionaryWithObjectsAndKeys:@"jereh",@"name",@"20",@"age",@"20",@"no",@"300",@"add", nil];// // NSLog(@"字典信息:%@",dict4);////=======================================================================// NSDictionary *dict5 = @{@"name": @"jer eh",@"age":@"20",@"no":@"20",@"add":@"300",};// NSLog(@"%@",dict5);// // //计算字典中有几对元素// NSLog(@"数量:%ld",dict5.count);// // NSArray *KeyAry = [dict5 allKeys];//得到所有对象对应的Key值,用数组存放// NSArray *ValuesAry = [dict5 allValues];//得到所有对象对应的Value值,用数组存放// // //得到当前对象对应的Key值,用数组存放// NSArray *art = [dict5 allKeysForObject:@"20"];// NSLog(@"KeyAry = %@",KeyAry);// NSLog(@"ValuesAry = %@",ValuesAry);// NSLog(@"%@",art);// // // //创建一个可变的空字典,可以继续添加键值对// NSMutableDictionary *dic7 = [NSMutableDictionary dictionary];// // //添加键值对// //字典中,不允许有重复的Key,多次对某个Key赋值,只能保存最后一个// [dic7 setObject:@"apple" forKey:@"name"];// [dic7 setObject:@"21" forKey:@"age"];// [dic7 setObject:@"happy" forKey:@"name"];// NSLog(@"%@",dic7);////=========================================================================// //删除字典中某一组//// [dic7 removeObjectForKey:@"name"];// // //删除多组数组// NSArray *ary7 = @[@"age",@"na"];// [dic7 removeObjectsForKeys:ary7];// NSLog(@"%@",dic7);// //删除全部数组// [dic7 removeAllObjects];// // //=======================================================================// //遍历字典// NSDictionary *dict8 = [NSDictionary dictionaryWithObjectsAndKeys:@"jereh",@"name",@"20",@"age",@"20",@"no",@"300",@"add", nil];//// <1>// for(id obj in dict8){// NSLog(@"Key:%@ Value:%@",obj, [dict8 objectForKey:obj]);//// }//// <2>// NSArray *ary8 = [dict8 allKeys];// for (id obj in ary8) {// NSLog(@"Key:%@ Value:%@",obj, [dict8 objectForKey:obj]);// } // NSString *str5 = [NSString stringWithContentsOfFile:@"/Users/jerehedu/Desktop/dict.txt" encoding:NSUTF8StringEncoding error:nil];// // //*********导入字典的时候直接删除#号,但是数据量太大,读取时间太长或者无法读取*************// NSMutableString *newStr5 = [NSMutableString stringWithString:str5];//// for (long int i = 1; i<[newStr5 length]; i++) {// NSUInteger ran1 = [newStr5 rangeOfString:@"#"].location;// NSLog(@"%ld",ran1);// if (ran1 != NSNotFound) {// [newStr5 deleteCharactersInRange:NSMakeRange(ran1, 1) ];// }// }// NSLog(@"\n%@",newStr5);//******************************************************************************** // NSMutableArray *ary1 = [NSMutableArray array];// NSMutableArray *ary2 = [NSMutableArray array];// NSArray *ary = [str5 componentsSeparatedByString:@"\n"];// for (int i = 0; i<ary.count; i++) {// if (i%2==0) {// [ary1 addObject:[ary[i] substringFromIndex:1]];// }else{// [ary2 addObject:[ary[i]substringFromIndex:6]];// }// }// NSDictionary *dict = [NSDictionary dictionaryWithObjects:ary1 forKeys:ary2];//// [dict writeToFile:@"/Users/jerehedu/Desktop/text.txt" atomically:YES];//存到桌面// char arry[1000];// int num;// NSLog(@"请选择需要进行的操作!");// NSLog(@"1.汉译英 ");// NSLog(@"2.英译汉 ");// scanf("%i",&num);// if (num==1) {// NSLog(@"\n请输入要查找的单词: ");// scanf("%s",arry);// // NSArray *art = [dict allKeysForObject:[NSString stringWithUTF8String:arry]];// for (id obj in art) {// NSLog(@"\n%@\n",obj);// return 0;// }// NSLog(@"\n找不到查找的单词!\n");// }// if (num==2)// {// // NSLog(@"\n请输入要查找的单词: ");// scanf("%s",arry);// // NSArray *art1 = [dict objectForKey:[NSString stringWithUTF8String:arry]];// for (id obj in art1) {// NSLog(@"\n%@\n",obj);// return 0;// }// NSLog(@"\n找不到查找的单词!\n");// // } } return 0;}
0 0
- NSSet知识以及练习题
- oc 知识总结四 (NSSet、NSMutableSet)
- OC NSArray练习题 和 NSSet的常用方法
- Nsset
- NSSet
- NSSet
- NSSet
- NSSet
- NSSet
- NSSet
- NSSet
- NSSet
- nsset
- NSSet
- NSSet
- NSSet
- NSSet类型 以及与NSArray区别
- NSSet类型 以及与NSArray区别
- pair 测试
- Unigine(3)consle程序与unigine结合
- unity3d中C#枚举
- 类的前向声明
- 【C++】判断IP地址有效性
- NSSet知识以及练习题
- javascript jQuery
- 字典序最小问题 前后删除加入 贪心poj3617
- poj3253求切割木板开销最少是多少, 赫夫曼编码
- NSArray知识
- 阜阳师范学院网盘的一次上传漏洞经历
- String,StringBuffer与StringBuilder的区别??
- BZOJ 2277 Poi2011 Strongbox 数论
- Swift实现对象归档