swift Dictionary 字典学习
importFoundation println("字典") /* 字典是一种存储相同类型多重数据的存储器。每个值(value)都关联独特的键(key),键作为字典中的这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。我们在需要通过标识符(键)访问数据的时候使用字典 */ //(1)创建一个字典 vardic:Dictionary<String,>=["三国演义":"罗贯中"水浒传":"施耐庵"红楼梦":"曹雪芹"西游记":"吴承恩"]; (dic); //执行结果:[三国演义:罗贯中,水浒传:施耐庵,红楼梦:曹雪芹,西游记:吴承恩] //(2)访问字典 varname=dic[三国演义"]; name //执行结果:罗贯中 //(3)向字典中添加键值 varstudent:Dictionary<String,Int> = [小明":10001,小华10002,27)">小红10003];//声明一个学生字典键:姓名值学号 //添加 student[理想]=10004; student); //执行结果:[小华: 10002,小红: 10003,小明: 10001,理想: 10004] //修改 .updateValue(12345);//将理想的学号改为12345 updateValue()这个方法返回更新值之前的原值。这样方便我们检查更新是否成功 //执行结果:[小华: 10002,理想: 12345] //删除 .removeValueForKey);将理想删除 小明: 10001] //获得键对应的值 letvalue =student["];删除 println("小明的value为(value)" //执行结果:小明的value为10001 //(4)遍历 for in字典会以元组(键,值)的形式返回 for(key,value)in无序 { println(键:(key)值:(value)"); } //执行结果: /* 键:小华值:10002 键:小红值:10003 键:小明值:10001 */ //或者 fortuples:(tuples.0)1) //我们也可以通过访问他的keys或者values属性(都是可遍历集合)检索一个字典的键或者值 forkeystudent.keys "key=:(key) key=:小华 key=:小红 key=:小明 forvaluevalues "value=:(value) key=:10002 key=:10003 key=:10001 //(5)通过构造方法创建字典 varnamesOfIntegers =Int,170)">String>() //(6)字典类型的赋值和拷贝行为 注意:字典和数组的拷贝是不同的 1.无论何时将一个字典实例赋给一个常量或变量,或者传递给一个函数或方法,这个字典会即会在赋值或调用发生时被拷贝。 2.如果字典实例中所储存的键(keys)和/或值(values)是值类型(结构体或枚举),当赋值或调用发生时,它们都会被拷贝。相反,如果键(keys)和/或值(values)是引用类型,被拷贝的将会是引用,而不是被它们引用的类实例或函数 varstudent2=student;字典赋值 (" student为:)n student2为:student2 执行结果: student为:[小华: 10002,小明: 10001] student2为:[小华: 10002,0)">);//改变student中小明的value student2不会改变 执行结果: student为: [小华: 10002,小明: 12345] */ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – 使用stylesheet_link_tag进行Rails 4片段
- cocos2d-js 使用http时 出现 Response failed, error buffe
- xml – XSLT1.0:删除与xsl:key组合的重复项
- flex 和java通信,mxml页面用自定义实体对象接收
- cocos2dx实现自定义图形橡皮擦功能 不是利用ClippingNode
- ajaxFileUpload插件上传文件 返回 syntaxError :unexpected
- 如何验证密码在C中至少有一个大写,小写和数字?
- XML中转义字符(Android可用)
- flash终成弃子 H5制霸全球 华清远见H5强势崛起
- c# – 如何避免投射但传递正确的类型