加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift Dictionary 字典学习

发布时间:2020-12-14 06:11:24 所属栏目:百科 来源:网络整理
导读:import Foundation println ( " 字典 " ) /* 字典是一种存储相同类型多重数据的存储器。每个值( value )都关联独特的键( key ),键作为字典中的这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。我们在需要通过标识符(键)访

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)" //执行结果:小明value10001

//(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]

*/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读