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
- NSDictionary/NSMutableDictionary(基础)
- 黑马程序员-oc基础-集合NSDictionary,NSMutableDictionary
- NSDictionary NSMutableDictionary
- NSDictionary、NSMutableDictionary
- NSDictionary NSMutableDictionary
- NSDictionary NSMutableDictionary
- NSDictionary /NSMutableDictionary
- NSDictionary/NSMutableDictionary
- NSDictionary NSMutableDictionary
- Objective-C ,ios,iphone开发基础:NSDictionary(字典) 和 NSMutableDictionary
- OC基础—集合之NSSet、NSDictionary(字典)、NSMutableDictionary
- iOS基础1:NSDictionary和NSMutableDictionary 的详解
- 字典(NSDictionary)及可变字典(NSMutableDictionary)基础学习
- Objective-c - NSDictionary(NSMutableDictionary)
- NSDictionary和NSMutableDictionary
- NSDictionary,NSMUtableDictionary-OC+class
- NSArray NSDictionary NSMutableArray NSMutableDictionary
- 备忘 NSDictionary & NSMutableDictionary
- 本地http://localhost打不开 http://User-pc:8080/Name
- [LeetCode] Substring with Concatenation of All Words
- 2015年4月25日浙江省ACM比赛题解
- 修改Oracle数据库的字符集(UTF8→ZHS16GBK)
- 面向对象(子父类中函数的特点-覆盖)
- NSDictionary/NSMutableDictionary(基础)
- ELK
- PHP解析的几种方法
- NSNumber(基础)
- 坏掉的项链
- 【第12届浙江省赛记录】
- PHP内核中的神器之HashTable
- git分支的使用
- 杂谈