Swift3.0帶來的變化彙總系列二——集合類型中的變化

Swift3.0帶來的變化彙總系列二——集合類型中的變化

    與字符串相似,Swift中集合的類型在3.0版本中也作了大量API上面的修改。swift

1、Array數組的更改

    array數組中修改的API示例以下:數組

//建立大量相同元素的數組
//建立有10個String類型元素的數組,而且每一個元素都爲字符串"Hello"
//swift2.2
//var array3 = [String](count: 10, repeatedValue: "Hello")
//swift3.0
var array3 = [String](repeating: "Hello", count: 10)
//建立有10個Int類型元素的數組,且每一個元素都爲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]
//向數組中追加一組元素
//swift2.2
//array.appendContentsOf([11,12,13])
//swift3.0
array.append(contentsOf: [11,12,13])
//向數組中的某個位置插入一個元素
//swift2.2
//array.insert(0, atIndex: 0)
//swift3.0
array.insert(0, at: 0)
//向數組中的某個位置插入一組元素
//swift2.2
//array.insertContentsOf([-2,-1], at: 0)
//swift3.0
array.insert(contentsOf: [-2,-1], at: 0)
//移除數組中某個位置的元素
//swift2.2
//array.removeAtIndex(1)
//swift3.0
array.remove(at: 1)
//移除一個範圍內的元素
//swift2.2
//array.removeRange(0...2)
//swift3.0
array.removeSubrange(0...2)
//修改一個範圍內的元素
//swift2.2
//array.replaceRange(0...2, with: [0,1])
//swift3.0
array.replaceSubrange(0...2, with: [0,1])
//進行數組枚舉遍歷 將輸出 (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]
//獲取數組中的最大值
//swift2.2
//arraySort.maxElement()
//swift3.0
arraySort.max()
//獲取數組中的最小值
//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: <)

2、Set集合中的更改

    Set集合中的修改示例以下:app

//建立set集合
var set1:Set<Int> = [1,2,3,4]
//進行下標的移動
//獲取某個下標後一個元素
//swlft2.2
//set1[set1.startIndex.successor()]
//swift3.0
set1[set1.index(after: set1.startIndex)]
//獲取某個下標後幾位的元素
//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()
//移除集合中某個位置的元素
//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)
//返回交集的補集{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]
//判斷是不是某個集合的子集 set5是set7的子集 返回ture
//swift2.2
//set5.isSubsetOf(set7)
//swift3.0
set5.isSubset(of: set7)
//判斷是不是某個集合的超集 set7是set5的超集 返回ture
//swift2.2
//set7.isSupersetOf(set5)
//swift3.0
set7.isSuperset(of: set5)
//判斷是不是某個集合的真子集 set5是set7的真子集 返回ture
//swift2.2
//set5.isStrictSubsetOf(set7)
//swift3.0
set5.isStrictSubset(of: set7)
//判斷是不是某個集合的真超集 set7不是set8的真超集 返回false
//swift2.2
//set7.isStrictSupersetOf(set8)
//swift3.0
set7.isStrictSuperset(of: set8)

3、Dictionary字典中的更改

    Dictionary字典中修改示例以下:spa

//經過鍵刪除某個鍵值對
//swift2.2
//dic1.removeValueForKey(1)
//swift3.0
dic1.removeValue(forKey: 1)

專一技術,熱愛生活,交流技術,也作朋友。code

——琿少 QQ羣:203317592排序

相關文章
相關標籤/搜索