Objective-c语言_可变字典
2015-12-16 10:54
609 查看
#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[]) {
@autoreleasepool
{
//可变字典NSMutabkeDictionary
//1.初始化方法
//创建一个空的字典
NSMutableDictionary *mDictionary1=[NSMutableDictionary
dictionary];
//创建一个有一个键值对的可变字典
NSMutableDictionary *mDictionary2=[NSMutableDictionary
dictionaryWithObject:@"Rick"
forKey:@"name"];
NSMutableDictionary *mDictionary3=[NSMutableDictionary
dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age",@"GZ",@"address",
nil];
//通过另一个字典创建一个字典
NSMutableDictionary *mDictionary4=[NSMutableDictionary
dictionaryWithDictionary:mDictionary3];
//使用枚举器
NSEnumerator *enu=[[mDictionary4
allKeys] objectEnumerator];
NSString *key;
while (key=[enu
nextObject])
{
NSLog(@"%@=%@",key,mDictionary4[key]);
}
//可变字典独有初始化方法
NSMutableDictionary *mDictionary5=[NSMutableDictionary
dictionaryWithCapacity:10];
//创建了初始大小为10各位键值对的可变字典
同样的参数num只是初始的大小,提高
//程序效率。并没有现在字典的大小,如果继续往里面添加数据,字典的元素会继续增加(无符号整形)
//从本地读取字典
NSMutableDictionary *mDictionary6=[NSMutableDictionary
dictionaryWithContentsOfFile:@"文件的路径"];
//从网络读取字典
NSMutableDictionary *mDictionary7=[NSMutableDictionary
dictionaryWithContentsOfURL:[NSURL
URLWithString:@"http://www.baidu.com"]];
//操作字典
//增删改查
//增加
[mDictionary5 setValue:@"Rick"
forKey:@"name"];//第一个天key第二个天value
[mDictionary5 setValue:@25
forKey:@"age"];
//改(如果原来字典中已有了key这个关键字,那么这次新加的值就会覆盖掉原来关键字(键)key对应的值)
[mDictionary5 setValue:@"Jack"
forKey:@"name"];
//使用新语法去改
mDictionary5[@"name"]=@"Leo";
//删除指定key的对象
[mDictionary5 removeObjectForKey:@"name"];//ForKey指定某个key
//删除所有对象
[mDictionary5 removeAllObjects];
NSLog(@"dic5=%@",mDictionary5);
//例子
NSMutableDictionary *mDictionary8=[NSMutableDictionary
dictionaryWithObjectsAndKeys:@"Rice",@"name1",@25,@"age",@"GZ",@"address",@"Rice",@"name2",@"Rice",@"name3",
nil];//Rice为value name为key
NSEnumerator *enu1=[[mDictionary8
allKeys]objectEnumerator];
//NSEnumerator *enu2=[mDictionary8.allKeys objectEnumerator];//可以的
NSString *key1;
while (key1=[enu1
nextObject])
{
NSLog(@"%@=%@",key1,mDictionary8[key1]);
}
while (key1=[enu1
nextObject])
{
if (mDictionary8[key1]==[mDictionary8
objectForKey:@"Rice"])
{
NSLog(@"key=%@",key1);
}
}
NSArray *key8=mDictionary8.allKeys;//这是数组不是NSString
for (NSString *key
in key8)
{
NSString *string;
if ([mDictionary8[key]
isKindOfClass:[NSNumber
class]])
{
int a=[mDictionary8[key]
intValue];
string=[NSString
stringWithFormat:@"%d",a];
}
else
{
string=mDictionary8[key];
}
if ([string
isEqualToString:@"Rice"])
{
NSLog(@"Key=%@",key);
}
}
NSArray *key9=mDictionary8.allKeys;
for (NSString *key
in key9)
{
if ([mDictionary8[key]
isEqual:@"Rice"])
{
NSLog(@"key=%@",key);
}
}
}
return 0;
}
int main(int argc,
const char * argv[]) {
@autoreleasepool
{
//可变字典NSMutabkeDictionary
//1.初始化方法
//创建一个空的字典
NSMutableDictionary *mDictionary1=[NSMutableDictionary
dictionary];
//创建一个有一个键值对的可变字典
NSMutableDictionary *mDictionary2=[NSMutableDictionary
dictionaryWithObject:@"Rick"
forKey:@"name"];
NSMutableDictionary *mDictionary3=[NSMutableDictionary
dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age",@"GZ",@"address",
nil];
//通过另一个字典创建一个字典
NSMutableDictionary *mDictionary4=[NSMutableDictionary
dictionaryWithDictionary:mDictionary3];
//使用枚举器
NSEnumerator *enu=[[mDictionary4
allKeys] objectEnumerator];
NSString *key;
while (key=[enu
nextObject])
{
NSLog(@"%@=%@",key,mDictionary4[key]);
}
//可变字典独有初始化方法
NSMutableDictionary *mDictionary5=[NSMutableDictionary
dictionaryWithCapacity:10];
//创建了初始大小为10各位键值对的可变字典
同样的参数num只是初始的大小,提高
//程序效率。并没有现在字典的大小,如果继续往里面添加数据,字典的元素会继续增加(无符号整形)
//从本地读取字典
NSMutableDictionary *mDictionary6=[NSMutableDictionary
dictionaryWithContentsOfFile:@"文件的路径"];
//从网络读取字典
NSMutableDictionary *mDictionary7=[NSMutableDictionary
dictionaryWithContentsOfURL:[NSURL
URLWithString:@"http://www.baidu.com"]];
//操作字典
//增删改查
//增加
[mDictionary5 setValue:@"Rick"
forKey:@"name"];//第一个天key第二个天value
[mDictionary5 setValue:@25
forKey:@"age"];
//改(如果原来字典中已有了key这个关键字,那么这次新加的值就会覆盖掉原来关键字(键)key对应的值)
[mDictionary5 setValue:@"Jack"
forKey:@"name"];
//使用新语法去改
mDictionary5[@"name"]=@"Leo";
//删除指定key的对象
[mDictionary5 removeObjectForKey:@"name"];//ForKey指定某个key
//删除所有对象
[mDictionary5 removeAllObjects];
NSLog(@"dic5=%@",mDictionary5);
//例子
NSMutableDictionary *mDictionary8=[NSMutableDictionary
dictionaryWithObjectsAndKeys:@"Rice",@"name1",@25,@"age",@"GZ",@"address",@"Rice",@"name2",@"Rice",@"name3",
nil];//Rice为value name为key
NSEnumerator *enu1=[[mDictionary8
allKeys]objectEnumerator];
//NSEnumerator *enu2=[mDictionary8.allKeys objectEnumerator];//可以的
NSString *key1;
while (key1=[enu1
nextObject])
{
NSLog(@"%@=%@",key1,mDictionary8[key1]);
}
while (key1=[enu1
nextObject])
{
if (mDictionary8[key1]==[mDictionary8
objectForKey:@"Rice"])
{
NSLog(@"key=%@",key1);
}
}
NSArray *key8=mDictionary8.allKeys;//这是数组不是NSString
for (NSString *key
in key8)
{
NSString *string;
if ([mDictionary8[key]
isKindOfClass:[NSNumber
class]])
{
int a=[mDictionary8[key]
intValue];
string=[NSString
stringWithFormat:@"%d",a];
}
else
{
string=mDictionary8[key];
}
if ([string
isEqualToString:@"Rice"])
{
NSLog(@"Key=%@",key);
}
}
NSArray *key9=mDictionary8.allKeys;
for (NSString *key
in key9)
{
if ([mDictionary8[key]
isEqual:@"Rice"])
{
NSLog(@"key=%@",key);
}
}
}
return 0;
}
相关文章推荐
- Objective-c语言_不可变字典
- Objective-c语言_数组练习题2:
- Objective-c语言_数组练习题1
- Objective-C语言——NSMutableDictionary可变字典
- Objective-C语言——NSDictionary不可变字典
- Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
- object-c画笔的简单实现
- object-c画笔的简单实现
- Nullability and Objective-C
- Spring MVC 接收json自动转换JSONObject
- Object C中创建线程的方法有NSThread,GCD, NSOperation
- Objective-c CoreData
- Objective-C中的内存管理
- CSS Object Model View整理
- org.hibernate.NonUniqueObjectException: a different object with the same identifier value was alread
- Objective-C 字符串一 "不可变字符串"
- Objective-C 字符串二 "可变字符串"
- (Foundation)NSObject 、 NSString 、 NSMutableString
- Objective-c---分类 、 扩展 、 ARC
- Objective-C语言介绍 、 Objc与C语言 、 面向对象编程 、 类和对象 、 属性和方法 、 属性和实例变量