Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié)
更新時(shí)間:2016年07月11日 20:09:34 作者:琿少
與字符串類似,Swift3在數(shù)組和字典等結(jié)構(gòu)上也有改動(dòng),這里我們就來整理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字典中修改示例如下:
//通過鍵刪除某個(gè)鍵值對(duì) //swift2.2 //dic1.removeValueForKey(1) //swift3.0 dic1.removeValue(forKey: 1)
相關(guān)文章
簡(jiǎn)單談?wù)凱ython中的幾種常見的數(shù)據(jù)類型
Python 中的變量不需要聲明。每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內(nèi)存中對(duì)象的類型。2017-02-02python numpy庫linspace相同間隔采樣的實(shí)現(xiàn)
這篇文章主要介紹了python numpy庫linspace相同間隔采樣的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python 標(biāo)準(zhǔn)庫zipfile將文件夾加入壓縮包的操作方法
Python zipfile 庫可用于壓縮/解壓 zip 文件. 本文介紹一下如何創(chuàng)建壓縮包,對(duì)Python zipfile壓縮包相關(guān)知識(shí)感興趣的朋友一起看看吧2021-09-09Python從臨時(shí)郵箱獲取驗(yàn)證碼的操作代碼
這篇文章主要介紹了Python從臨時(shí)郵箱獲取驗(yàn)證碼的操作代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08利用Python小工具實(shí)現(xiàn)3秒鐘將視頻轉(zhuǎn)換為音頻
這篇文章主要介紹了利用Python小工具實(shí)現(xiàn) 3秒鐘將視頻轉(zhuǎn)換為音頻效果,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10python多線程高級(jí)鎖condition簡(jiǎn)單用法示例
這篇文章主要介紹了python多線程高級(jí)鎖condition簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了condition對(duì)象常用方法及相關(guān)使用技巧,需要的朋友可以參考下2019-11-11