设为首页 加入收藏

TOP

窥探Swift之数组与字典(二)
2017-10-10 12:17:46 】 浏览:4424
Tags:窥探 Swift 字典
。下方创建的都是可变字典,因为我们使用的是var关键字进行修饰的,如果你要创建不可变数组,我们就可以使用let关键字进行创建。关于let创建字典的内容,在此就不做过多的赘述了,因为只需要把下方的var换成let即可。

    

2. 字典item的增删改查

(1) 查询字典的值(读取)

我们可以通过字典键值对的key来取出key对应的value。 下方的代码是分别取出“大毛”和“小黄”的值,如下所示:

(2)字典的遍历

只取一个值那多不爽呢,下面介绍一下字典的遍历方法。下方是遍历输出字典myDog中所有的key,字典的keys属性是获取字典中所有的key值。

上述代码段输出结果如下,由输出结果可知,每个Value是可选类型的数据:

        key: Optional("黄2")
        key: Optional("小黄")
        key: Optional("大黄")

===============================================================================

上面是获取字典中的所有keys, 那么下面是获取字典中的所有values, 具体代码如下所示:

上述代码段输出的结果值如下:

1         value:黄2
2         value:小黄
3         value:大黄        

===============================================================================

接下来就是对字典的整个item进行遍历,每个item遍历出来是一个元组。元组的内容是(key, value)。遍历出来的元组我们就可以通过使用元组的形式来获取字典的key和value。具体代码如下所示:

输出结果如下:

 1         元组:(2, "黄2")
 2         key: 2
 3         value: 黄2
 4 
 5         元组:(3, "小黄")
 6         key: 3
 7         value: 小黄
 8 
 9         元组:(1, "大黄")
10         key: 1
11         value: 大黄

 

(3) 字典的修改

字典元素的修改是比较简单的,下方通过两种。第一种是通过key的形式直接给key对应的value赋值,不过这种修改方式是不会返回被修改的值的,具体代码如下:

如果你想在修改值的时候返回被修改的原始值的话,你需要使用updateva lue(forKey:)方法进行元素的修改。该函数是可以返回被修改的原始值的,具体实例如下所示:

 

(4) 增加元素

往已有的可变字典中增加元素就简单多了,直接通过key就可以给value赋值。在可变字典中,如果key已经存在,那么就变成上面的修改字典的值了。可以这么理解,通过key给value赋值时,如果key存在,就覆盖原有的键值对,如果不存在就添加。下方就是往字典中进行添加元素的语句:

 

(5)移除元素

下方截图中是所有字典移除元素的方法,

        removeAll():移除所有元素。

        removeAll(keepCapacity: Bool):移除所有元素, 如果keepCapacity为True,则保留字典原有的存储空间。

        removeva lueForkey(key: Hashable): 这个方法是通过key来移除元素的。

removeAtIndex(index: DictionaryIndex<Hashable, Value>):这个是通过Dictionary的索引来删除元素的。但是字典的item是没有顺序的,那么我们怎么获取这个DictionaryIndex呢? 那么我们就会使用到另一个函数,就是indexForKey。具体用法如下,移除元素成功后会以元组的形式返回被删除的值。

       

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇open source Swift, Objective-C .. 下一篇窥探Swift编程之强大的Switch

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目