swift Dictionary 字典
//
// main.swift
// 字典
//
// Created by zhangbiao on 14-6-15.
// Copyright (c) 2014年 理想. All rights reserved.
//
import Foundation
println("字典")
/*
字典是一种存储相同类型多重数据的存储器。每个值(value)都关联独特的键(key),键作为字典中的这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。我们在需要通过标识符(键)访问数据的时候使用字典
*/
//(1)创建一个字典
var dic:Dictionary<String,String>=["三国演义":"罗贯中","水浒传":"施耐庵","红楼梦":"曹雪芹","西游记":"吴承恩"];
println(dic);
//执行结果:[三国演义:
罗贯中, 水浒传:
施耐庵, 红楼梦:
曹雪芹, 西游记:
吴承恩]
//(2)访问字典
var name=dic["三国演义"];
println(name);
//执行结果:罗贯中
//(3)向字典中添加键值
var student:Dictionary<String,Int> =
["小明":10001,"小华":10002,"小红":10003];
// 声明一个学生字典
键:
姓名
值:学号
//添加
student["理想"]=10004;
println(student);
//执行结果:[小华: 10002,
小红: 10003,
小明: 10001, 理想: 10004]
//修改
student.updateValue(12345,forKey:"理想");
// 将理想的学号改为12345 updateValue()
这个方法返回更新值之前的原值。这样方便我们检查更新是否成功
println(student);
//执行结果:[小华: 10002,
小红: 10003,
小明: 10001, 理想: 12345]
//删除
student.removeValueForKey("理想");
//将理想
删除
println(student);
//执行结果:[小华: 10002,
小红: 10003,
小明: 10001]
//获得键对应的值
let value =
student["小明"];
//将理想
删除
println("小明
的 value
为 \(value)");
//执行结果:
小明 的 value
为 10001
//(4)遍历 for in
字典 会以元组(键,值)的形式返回
for (key,value)
in student
//无序
{
println("键:\(key)
值:\(value)");
}
//执行结果:
/*
键:小华
值:10002
键:小红
值:10003
键:小明
值:10001
*/
//或者
for tuples
in student
//无序
{
println("键:\(tuples.0)
值:\(tuples.1)");
}
//我们也可以通过访问他的keys或者values属性(都是可遍历集合)检索一个字典的键或者值
for key
in student.keys
{
println("key=:\(key)");
}
//执行结果:
/*
key=:小华
key=:小红
key=:小明
*/
for value
in student.values
{
println("value=:\(value)");
}
//执行结果:
/*
key=:10002
key=:10003
key=:10001
*/
//(5)通过构造方法创建字典
var namesOfIntegers =
Dictionary<Int,
String>()
//(6)字典类型的赋值和拷贝行为
/*
注意:字典和数组的拷贝是不同的
1.无论何时将一个字典实例赋给一个常量或变量,或者传递给一个函数或方法,这个字典会即会在赋值或调用发生时被拷贝。
2.如果字典实例中所储存的键(keys)和/或值(values)是值类型(结构体或枚举),当赋值或调用发生时,它们都会被拷贝。相反,如果键(keys)和/或值(values)是引用类型,被拷贝的将会是引用,而不是被它们引用的类实例或函数
*/
var student2=student;
// 字典赋值
println(" student
为:\(student)\n student2
为:\(student2) ");
/*
执行结果:
student 为:[小华: 10002,
小红: 10003,
小明: 10001]
student2 为:[小华: 10002,
小红: 10003,
小明: 10001]
*/
student.updateValue(12345,forKey:"小明");
// 改变 student
中 小明的 value student2不会改变
println(" student
为:\(student)\n student2
为:\(student2) ");
/*
执行结果:
student 为: [小华: 10002,
小红: 10003,
小明: 12345]
student2 为:[小华: 10002,
小红: 10003,
小明: 10001]
*/
swift Dictionary 字典的更多相关文章
- iOS - Swift Dictionary 字典
前言 public struct Dictionary<Key : Hashable, Value> : CollectionType, DictionaryLiteralConverti ...
- Swift - 从字典(或者Alamofire)直接创建Model文件的工具
Swift - 从字典(或者Alamofire)直接创建Model文件的工具 效果 1. 常规生成model的方式 2. 通过debug创建model的方式 特性 1. 可以处理JSON格式的字典数据 ...
- 你能熟练使用Dictionary字典和List列表吗?(转)
命名空间System.Collections.Generic中有两个非常重要,而且常用的泛型集合类,它们分别是Dictionary<TKey,TValue>字典和List<T> ...
- (转)C#中的Dictionary字典类介绍
关键字:C# Dictionary 字典 作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionar ...
- C#中的Dictionary字典类介绍
Dictionary字典类介绍 必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是 ...
- dictionary(字典)
dictionary(字典): 字典对象 字典是一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 1. dic={"n ...
- C# Dictionary 字典
C#中的Dictionary字典类介绍 关键字:C# Dictionary 字典 作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/ ...
- 关于Dictionary字典和List列表
命名空间System.Collections.Generic中有两个非常重要,而且常用的泛型集合类,它们分别是Dictionary<TKey,TValue>字典和List<T> ...
- Python dictionary 字典 常用法
Python dictionary 字典 常用法 d = {} d.has_key(key_in) # if has the key of key_in d.keys() ...
随机推荐
- js点击事件防止用户重复点击执行
点击事件里给button标签加一个自定义属性,存上次点击时间 追问: 求详细代码,JS 真心的没怎么做过 追答: <input type="button" id=&quo ...
- mysql命令具体解释
首先创建一个简单的user表 CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT , `name` varchar(255) NULL , ...
- 从Android Handler内部类到WeakReference的知识关联
Handler: 普通使用方法: Handler用于处理和从队列MessageQueue中得到Message.一般我们要重写Handler的handleMessage(Message msg){}方法 ...
- ubuntu桌面环境配置及切换
修改ubuntu默认启动的桌面环境:Ubuntu是否启动图形化界面取决于default-display-manager的设置. vi /etc/X11/default-display-manager值 ...
- DataSet转Json 方法
防止忘记,留着备用 /// <summary> /// DATASET转JSON /// </summary> /// <param name="ds" ...
- PropertyGrid—添加属性Tab
零.引言 PropertyGrid用来显示和编辑对象的属性,前面已经简单介绍了如何使用该控件和提供不同的属性编辑方法.前面主要讲如何使用该控件,但有时,该控件无法满足我们的需求,就需要对其进行扩展.本 ...
- JS实现给页面表单设置触发默认按钮
var defaultBtnId; function setDefaultButton(id) { defaultBtnId = id; } document.onkeydown = function ...
- excel笔记
提取单元格中的数字部分 =MID(LOOKUP(1,-(1&MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1/17)),ROW($1:$15)))) ...
- c#中的数据类型简介(委托)
c#中的数据类型简介(委托) 什么是委托? 委托是一种类型,它封装了一类方法,这些方法具有相同的方法签名(signature).定义听起来有点拗口,首先可以确定委托是一种数据类型,那么什么是方法签名, ...
- iOS项目生成通用Windows应用
WinObjc - 使用iOS项目生成通用Windows应用 Github上一周年的WinObjc项目最近发布了预览版本,终于等到了这一天.WinObjc项目就是Build 2015大会上微软宣布 ...