Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié)
更新時(shí)間:2016年07月11日 20:09:34 作者:琿少
與字符串類似,Swift3在數(shù)組和字典等結(jié)構(gòu)上也有改動(dòng),這里我們就來(lái)整理Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié):
一、Array數(shù)組的更改
array數(shù)組中修改的API示例如下:
//創(chuàng)建大量相同元素的數(shù)組
//創(chuàng)建有10個(gè)String類型元素的數(shù)組,并且每個(gè)元素都為字符串"Hello"
//swift2.2
//var array3 = [String](count: 10, repeatedValue: "Hello")
//swift3.0
var array3 = [String](repeating: "Hello", count: 10)
//創(chuàng)建有10個(gè)Int類型元素的數(shù)組,且每個(gè)元素都為1
//swift2.2
//var array4 = Array(count: 10, repeatedValue: 1)
//swift3.0
var array4 = Array(repeating: 1, count: 10)
var array = [1,2,3,4,5,6,7,8,9]
//向數(shù)組中追加一組元素
//swift2.2
//array.appendContentsOf([11,12,13])
//swift3.0
array.append(contentsOf: [11,12,13])
//向數(shù)組中的某個(gè)位置插入一個(gè)元素
//swift2.2
//array.insert(0, atIndex: 0)
//swift3.0
array.insert(0, at: 0)
//向數(shù)組中的某個(gè)位置插入一組元素
//swift2.2
//array.insertContentsOf([-2,-1], at: 0)
//swift3.0
array.insert(contentsOf: [-2,-1], at: 0)
//移除數(shù)組中某個(gè)位置的元素
//swift2.2
//array.removeAtIndex(1)
//swift3.0
array.remove(at: 1)
//移除一個(gè)范圍內(nèi)的元素
//swift2.2
//array.removeRange(0...2)
//swift3.0
array.removeSubrange(0...2)
//修改一個(gè)范圍內(nèi)的元素
//swift2.2
//array.replaceRange(0...2, with: [0,1])
//swift3.0
array.replaceSubrange(0...2, with: [0,1])
//進(jìn)行數(shù)組枚舉遍歷 將輸出 (0,0) (1,1) (2,2) (3,3) (4,4)
//swift3.0 中將枚舉屬性enumerate 修改為enumerated()方法
for item in arrayLet.enumerated(){
print(item)
}
var arraySort = [1,3,5,6,7]
//獲取數(shù)組中的最大值
//swift2.2
//arraySort.maxElement()
//swift3.0
arraySort.max()
//獲取數(shù)組中的最小值
//swift2.2
//arraySort.minElement()
//swift3.0
arraySort.min()
//從大到小排序
//swift2.2
//arraySort = arraySort.sort(>)
//swift3.0
arraySort = arraySort.sorted(isOrderedBefore: >)
//從小到大排序
//swift2.2
//arraySort = arraySort.sort(<)
//swift3.0
arraySort = arraySort.sorted(isOrderedBefore: <)
二、Set集合中的更改
Set集合中的修改示例如下:
//創(chuàng)建set集合
var set1:Set<Int> = [1,2,3,4]
//進(jìn)行下標(biāo)的移動(dòng)
//獲取某個(gè)下標(biāo)后一個(gè)元素
//swlft2.2
//set1[set1.startIndex.successor()]
//swift3.0
set1[set1.index(after: set1.startIndex)]
//獲取某個(gè)下標(biāo)后幾位的元素
//swift2.2
//set1[set1.startIndex.advancedBy(3)]
//swift3.0
set1[set1.index(set1.startIndex, offsetBy: 3)]
//獲取集合中的最大值
//swift2.2
//set1.maxElement()
//swift3.0
set1.max()
//獲取集合中的最小值
//swift2.2
//set1.minElement()
//swift3.0
set1.min()
//移除集合中某個(gè)位置的元素
//swift2.2
//set1.removeAtIndex(set1.indexOf(3)!)
//swift3.0
set1.remove(at: set1.index(of: 3)!)
var set3:Set<Int> = [1,2,3,4]
var set4:Set<Int> = [1,2,5,6]
//返回交集 {1,2}
//swift2.2
//var setInter = set3.intersect(set4)
//swift3.0
var setInter = set3.intersection(set4)
//返回交集的補(bǔ)集{3,4,5,6}
//swift2.2
//var setEx = set3.exclusiveOr(set4)
//swift3.0
var setEx = set3.symmetricDifference(set4)
var set5:Set = [1,2]
var set6:Set = [2,3]
var set7:Set = [1,2,3]
var set8:Set = [1,2,3]
//判斷是否是某個(gè)集合的子集 set5是set7的子集 返回ture
//swift2.2
//set5.isSubsetOf(set7)
//swift3.0
set5.isSubset(of: set7)
//判斷是否是某個(gè)集合的超集 set7是set5的超集 返回ture
//swift2.2
//set7.isSupersetOf(set5)
//swift3.0
set7.isSuperset(of: set5)
//判斷是否是某個(gè)集合的真子集 set5是set7的真子集 返回ture
//swift2.2
//set5.isStrictSubsetOf(set7)
//swift3.0
set5.isStrictSubset(of: set7)
//判斷是否是某個(gè)集合的真超集 set7不是set8的真超集 返回false
//swift2.2
//set7.isStrictSupersetOf(set8)
//swift3.0
set7.isStrictSuperset(of: set8)
三、Dictionary字典中的更改
Dictionary字典中修改示例如下:
//通過(guò)鍵刪除某個(gè)鍵值對(duì) //swift2.2 //dic1.removeValueForKey(1) //swift3.0 dic1.removeValue(forKey: 1)
相關(guān)文章
Python中的圖形繪制簡(jiǎn)單動(dòng)畫(huà)實(shí)操
這篇文章主要介紹了Python中的圖形繪制簡(jiǎn)單動(dòng)畫(huà)實(shí)操,?Matplotlib?是一個(gè)非常廣泛的庫(kù),它也支持圖形動(dòng)畫(huà),動(dòng)畫(huà)工具以?matplotlib.animation?基類為中心,它提供了一個(gè)框架,圍繞該框架構(gòu)建動(dòng)畫(huà),下面來(lái)看看具體的實(shí)現(xiàn)過(guò)程吧,需要的小伙伴可以參考一下2022-02-02
解決Python報(bào)錯(cuò)No module named Crypto問(wèn)題
這篇文章主要介紹了解決Python報(bào)錯(cuò)No module named“Crypto”問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
python 根據(jù)字典的鍵值進(jìn)行排序的方法
這篇文章主要介紹了python 根據(jù)字典的鍵值進(jìn)行排序的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07
Python基于回溯法子集樹(shù)模板解決野人與傳教士問(wèn)題示例
這篇文章主要介紹了Python基于回溯法子集樹(shù)模板解決野人與傳教士問(wèn)題,簡(jiǎn)單說(shuō)明了野人與傳教士問(wèn)題,并結(jié)合實(shí)例形式分析了Python使用回溯法子集樹(shù)模板解決野人與傳教士問(wèn)題的步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
Jmeter調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互相傳遞的實(shí)現(xiàn)
這篇文章主要介紹了Jmeter調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互相傳遞的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Django 查詢數(shù)據(jù)庫(kù)并返回頁(yè)面的例子
今天小編就為大家分享一篇Django 查詢數(shù)據(jù)庫(kù)并返回頁(yè)面的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08

