NSDictionary/NSMutableDictionary(基础)

来源:互联网 发布:儿童编程创业贴吧 编辑:程序博客网 时间:2024/06/09 15:53
////  main.m//  test5////  Created by mac on 15/4/25.//  Copyright (c) 2015年 mac. All rights reserved.///*  集合 1.NSArray\NSMutableArray *有序 *快速创建(不可变)数组:@[obj1,obj2,obj3,obj4] *快速访问数组中的元素:数组名[i],i为数组下标  2NSSet\NSMutableSet *无序  3NSDictionary\NSMutableDictionary *无序 *快速创建(不可变)字典:@{key:value,key2:value2,key3:value3} *快速访问字典: 字典名[key] */#import <Foundation/Foundation.h>//------------------------------------------------字典创建的方式和基本使用void creatDictionary(){    /*     字典:     key---->value     索引---->存放的值     里面存储的东西都是键值对     */    /*     字典的创建     */    //1 创建一个空的字典    NSDictionary *dict = [NSDictionary dictionary];    //2    NSDictionary *dict2 = [NSDictionary dictionaryWithObject:@"name1" forKey:@"stu1"];    id obj2 = [dict2 objectForKey:@"stu1"];    //3    NSArray *keys = @[@"stu1",@"stu2",@"stu3",@"stu4"];    NSArray *values = @[@"name1",@"name2",@"name3",@"name4"];    NSDictionary *dict3 = [NSDictionary dictionaryWithObjects:values forKeys:keys];    id obj3 = [dict3 objectForKey:@"stu2"];    //4    NSDictionary *dict4 = [NSDictionary dictionaryWithObjectsAndKeys:                           @"name1",@"stu1",                           @"name2",@"stu2",                           @"name3",@"stu3",                           @"name4",@"stu4",                           nil];    id obj4 = [dict4 objectForKey:@"stu4"];    //5  @{key:value,key2:value2}    NSDictionary *dict5 = @{                            @"stu1":@"name1",                            @"stu2":@"name2",                            @"stu3":@"name3",                            @"stu4":@"name4"                            };    id obj5 = [dict5 objectForKey:@"stu1"];        //快速创建字典,返回不可变字典    NSDictionary *dic = @{@"key":@"value"};    /*     根据key值快速查找     */    id obj6 = dict5[@"stu3"];        NSLog(@"%@",obj6);        /*     count为键值对的个数     */        NSLog(@"%ld",dict5.count);    }//--------------------------------------------可变字典和遍历字典void useNSMutableDictionary(){        NSMutableDictionary *dic = [NSMutableDictionary dictionary];    //向字典中添加键值对    [dic setValue:@"name1" forKey:@"stu1"];    [dic setValue:@"name2" forKey:@"stu2"];    [dic setObject:@"nam2" forKey:@"stu2"];    [dic setValue:@"name3" forKey:@"stu3"];        id obj = dic[@"stu2"];    //根据key值删除value    [dic removeObjectForKey:@"stu2"];    //[dic removeAllObjects];        //打印字典    NSLog(@"%@",dic);}//----------------------------------字典的遍历void bianliDictionary(){    //字典的遍历,字典不允许有相同的key,但是允许有相同的value    NSDictionary *dict = @{                           @"stu1":@"name1",                           @"stu2":@"name2",                           @"stu3":@"name3",                           @"stu4":@"name4"                           };    //获得字典中所有的key    //字典是无序的    NSArray *keys = [dict allKeys];    //for循环遍历    for(int i = 0; i < dict.count; i ++ )    {        id key = keys[i];        id value = dict[key];        NSLog(@"%@ = %@", key, value);    }    //调用字典enumerateKeysAndObjectsUsingBlock代码块方法遍历    [dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {        NSLog(@"%@ = %@", key, obj);    }];    }int main(int argc, const char * argv[]) {    @autoreleasepool {        //数组中可以存放字典对象,字典中也可以存放字典        NSArray *arr = @[                         @{@"stu3":@"name3",@"books":@[@"book1",@"book2"]},                         @{@"stu2]":@"name2",@"books":@[@"book1",@"book2"]},                         @{@"stu1":@"name1",@"books":@[@"book1",@"book2"]},                         @{@"stu4":@"name4",@"books":@[@"book1",@"book2"]}                         ];                /*         结构:         NSArray[             NSDictionary:{NSString:NSSTring,NString:Nsarray}            }         ]         */        //取得学生1的名字:        //1)根据数组下标取得学生所在字典,根据字典中学生key取得namevalue        NSString *nameVlaue = arr[2][@"stu1"];        NSLog(@"%@",nameVlaue);                //取得学生1的所有书籍        NSArray *books = arr[2][@"books"];        NSLog(@"%@",books);        //取得第二本书的名字        NSString *bookName = arr[2][@"books"][1];        NSLog(@"%@",bookName);            }    return 0;}

0 0
原创粉丝点击