oc第三天字典

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[])

{


    @autoreleasepool

    {

        NSNumber* num01 = [[NSNumber alloc] initWithInt:1001] ;

        NSNumber* num02 = [[NSNumber alloc] initWithInt:1002] ;

        NSNumber* num03 = [[NSNumber alloc] initWithInt:1003] ;

        NSNumber* num04 = [[NSNumber alloc] initWithInt:1004] ;

        NSNumber* num05 = [[NSNumber alloc] initWithInt:1005] ;

        

        NSString* name01 = @"小刚";

        NSString* name02 = @"小明";

        NSString* name03 = @"小强";

        NSString* name04 = @"小红";

        NSString* name05 = @"小霞";

        

        

        //声明并创建字典对象

        //通过关键字和使用值来创建对象

        //每一个关键字和使用值组成一组键值对

        //字典中的每个元素由一对键值对组成

        

        //此函数中前面的值为使用值

        //后面的值为关键字

        //不可变更字典

        NSDictionary* dic = [[NSDictionary alloc] initWithObjectsAndKeys:

            num01,@"111",

            num02,@"222",

            num03,@"333",

            num04,name04,

            num05,name05,

             nil];

        

        //通过关键字(学生姓名)获得学生信息(学号)

        NSNumber* numS1 = [dic objectForKey:name01] ;

        

        NSLog(@"numS1 = %@",numS1) ;

        

        NSNumber* numS4 = [dic objectForKey:name04] ;

        

        NSLog(@"numS4 = %@",numS4) ;

        

        //使用for each循环遍历字典

        //遍历获得的元素值为关键字

        for (NSString* keyName in dic)

        {

            NSNumber* num = [dic objectForKey:keyName] ;

            NSLog(@"num = %@",num);

        }

        

        //创建一个学号数组

        NSArray* arrayNum = [[NSArray alloc] initWithObjects:

            num01,

            num02,

            num03,

            num04,

            num05,nil];

        

        //创建姓名数组

        NSArray* arrayName = [[NSArray alloc] initWithObjects:

            name01,

            name02,

            name03,

            name04,

            name05,nil];

        

        //通过对象数组和关键字数组创建字典

        //要求参数的两个数组中的元素个数一致

        NSDictionary* dic2 =

        [NSDictionary dictionaryWithObjects:arrayName    forKeys:arrayNum];

        

        for (NSNumber* numKey in dic2) {

        

            NSString* strName = [dic2 objectForKey:numKey] ;

            NSLog(@"strName = %@",strName) ;

        }

        

        //创建可变字典

        NSMutableDictionary* mDic = [[NSMutableDictionary alloc] init] ;

        

        //添加键值对

        [mDic setObject:name01 forKey:num01];

        [mDic setObject:name02 forKey:num02] ;

        [mDic setObject:name03 forKey:num03] ;

        [mDic setObject:name04 forKey:num04] ;

        [mDic setObject:name05 forKey:num05] ;

        //如果添加的新元素的key与原来的字典中的key一样

        //将原来key所对应的值覆盖掉

        //不会添加新元素空间

        [mDic setObject:name05 forKey:num01] ;

        

        for (NSNumber* num in mDic)

        {

            NSLog(@"name = %@", [mDic objectForKey:num]);

        }

        

        //删除所有元素

        //[mDic removeAllObjects] ;

        //根据key删除一个元素

        [mDic removeObjectForKey:num03] ;

        [mDic removeObjectForKey:num02] ;

        [mDic removeObjectForKey:num02] ;

        

        for (NSNumber* num in mDic)

        {

            NSLog(@"name = %@", [mDic objectForKey:num]);

        }

        

        //创建删除关键字数组

        NSArray* arrayDel = [NSArray arrayWithObjects:num04,num05, nil];

        //根据关键字数组删除元素

        [mDic removeObjectsForKeys:arrayDel] ;

        NSLog(@"\n");

        for (NSNumber* num in mDic)

        {

            NSLog(@"name = %@", [mDic objectForKey:num]);

        }

        

        // insert code here...

        NSLog(@"Hello, World!");

        

    }

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值