字典

原创 2016年06月02日 17:35:55
字典:
1,字典是一种数据结构,是以键值对的形式来存储数据
2,字典中的键值对可以是任意类型的对象,但是key一般是字符串
3,键在字典中是唯一存在的
4,字典中,键值对是没有顺序的



 <1>创建方法
(1) 从Xcode4.6 以后允许用下述方式创建一个字典
      NSDictionary* dic4 = @{@"1":@"one",@"2":@"two",@"3":@"three};    
(2) //实例化方法
     - (id)initWithObjectsAndKeys:(id)firstObject, …;
(3) 用一个字典来创建一个新的字典
     -(id)initWithDictionary(NSDictionary*)otherDictionary;
 (4)用两个数组来创建字典,一个数组中装的是所有的键 另外一个数组装的是所有的值,两个数组的长度必须相等
    NSArray* valueArray =@[@"one",@"two",@"three"];
    
NSArray* keyArray = @[@"1",@"2",@"3"];
    
NSDictionary* dict3 = [[NSDictionaryalloc]initWithObjects:valueArrayforKeys:keyArray];

 (5)该创建方式携带的参数是值键排列
系统会将奇数个元素作为值,偶数个元素作为键来创建字典
   
NSDictionary* dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",nil];

  //
类方法创建
 (6) + (id)dictionaryWithObjectsAndKeys:(id)firstObject, ...;
 (7) + (
id)dictionaryWithDictionary:(NSDictionary*)dict;

  <2>
获取键值对个数
  - (
NSUInteger)count;

  <3>
根据key获取相应的值
  - (
id)objectForKey:(id)aKey;

  <4>
获取字典中所有的key
  - (
NSArray*)allKeys;

  <5>
获取值是anObject的所有的key
  - (
NSArray*)allKeysForObject:(id)anObject; 
  
  <6>
获取字典中所有的值
  - (
NSArray*)allValues;

  <7>如何遍历字典
         枚举遍历
        NSEnumerator* enu = [dic keyEnumerator];
        
NSString* str;
        
while((str = [enu nextObject])!= nil) {
           
NSLog(@"%@",[dicobjectForKey:str]);
         }
   //
通过字典的keyEnumerator方法返回一个枚举器,这个枚举器中装得是字典的Key,遍历这些Key ,通过key 去获取value

快速遍历
for  in循环:
     NSDictionary* dic = @{@"1":@"one",@"2":@"two",@"3":@"three",@"4":@"four"};
     
for (NSString * key in dic) {
          
           
NSLog(@"%@",[dicobjectForKey:key]);
     }




二.可变字典
<1>增加键值对
[muDic setObject:@"one"forKey:@"1"];
//如果Key 是存在的,就修改key 所对应的value 的值,如果不存在,就添加一个键值对

//增加整个字典
- (void)addEntriesFromDictionary:(NSDictionary*)otherDictionary;

<2>
删除键值对
//通过key 去删除key所对应的键值对
      [muDic removeObjectForKey:@"5"];
       
//把所有想删除的键值对的key都放到一个数组中,通removeObjectsForKeys删除所有数组中key 对应的键值对
     
NSArray* keyArray = @[@"1",@"3"];
      [muDic
removeObjectsForKeys:keyArray];

//删除所有的键值对
        [muDic
removeAllObjects];

<3>修改键值对
[muDic setValue:@"five"forKey:@"4"];
//如果Key 是存在的,就修改key 所对应的value 的值,如果不存在,就添加一个键值对

//修改整个字典
  - (
void)setDictionary:(NSDictionary*)otherDictionary; 


版权声明:本文为博主原创文章,未经博主允许不得转载。

汉字字典数据库(sql)

  • 2017年10月26日 19:51
  • 18.9MB
  • 下载

用友U8-ERP数据字典大全

  • 2017年11月14日 12:24
  • 99.36MB
  • 下载

ORACLE数据字典与视图

ORACLE数据字典与视图 当ORACLE数据库系统启动后,数据字典总是可用,它驻留在SYSTEM表空间中。数据字典包含视图集,在许多情况下,每一视图集有三种视图包含有类似信息,彼此以前缀相区别...

mysql数据字典导出工具

  • 2017年11月01日 15:35
  • 165KB
  • 下载

数据字典工具

  • 2017年11月02日 17:00
  • 2.58MB
  • 下载

mysql入门篇2——常用数据字典信息

如果想了解某个数据库,首先就需要知道,它的数据字典信息的存放,这样就可以查看到一些操作对数据库字典信息的更改,如果创建一索引,查看索引的类型等其他信息。 1、常用字典表 mysql的字典信...

数据库字典工具T+版

  • 2017年12月04日 12:43
  • 2.93MB
  • 下载

编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。

编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。package com.itheima; import java.lang.ref...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字典
举报原因:
原因补充:

(最多只允许输入30个字)