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
原创粉丝点击