麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

[swift]6.0原聲集合類型

2019-11-06 07:24:35
字體:
供稿:網(wǎng)友

6.1 swift中的數(shù)組集合

數(shù)組分成兩種,一種是由常變量let的不可改變的數(shù)組,另一種是由變量var的改變的數(shù)組

6.2數(shù)組的聲明和初始化

常量(let)數(shù)組定義

/*let + 變量名 + : + 變量類型*/let a:[Int] = [1,2,3,4,5]let a<Int> = [1,2,3,4,5]let a<Any> = [1,2,"swift"] /*Any可放置任何類型*//*let + 變量名*/let b = [1,2,3,4,5]/*let + 變量名 可以放置不同數(shù)據(jù)的類型*/let c = [1,2,"swift","swift_2"]/*空數(shù)組表示*/let d:[Int] = [] /*直接定義*/let d:[Int]() /*專有語法*/

repeatedValue的使用

let d = [count:5,repeatedValue:1.0]/*等價(jià)于*/let d = Array(count:5,repeatedValue:1.0)let d = [1.0,1.0,1.0,1.0,1.0]

變量(var)數(shù)組定義

/*var + 變量名 + : + 變量類型*/var a:[Int] = [1,2,3,4,5]var a<Int> = [1,2,3,4,5]/*var + 變量名*/var b = [1,2,3,4,5]/*var + 變量名 可以放置不同數(shù)據(jù)的類型*/var c = [1,2,"swift","swift_2"]/*空數(shù)組表示*/var d:[Int] = [] /*直接定義*/var d:[Int]() /*專有語法*//*repeatedValue的使用*/var d = [count:5,repeatedValue:1.0]/*等價(jià)于*/var d = Array(count:5,repeatedValue:1.0)var d = [1.0,1.0,1.0,1.0,1.0]

isEmpty返回的是布爾類型(Bool) 用來判斷數(shù)組是否為空集, 空集返回true,反之返回false 數(shù)組名.isEmpty

let string_1: [Int]()PRint (string_1.isEmpty)let ssring_2: [Int] = [1,2,3]print (string_2.isEmpty)

count 計(jì)算數(shù)組的元素個(gè)數(shù) 數(shù)組名.count

var string_3: [Int] = [1,2,3,4,5]print (string_3.count)

數(shù)組的訪問,插入,增加,修改和刪除和遍歷元素

數(shù)組訪問

var array = ["a","b","c"]print (array[1]) /*訪問第二個(gè)元素"b"*/

注意:元素排列是從0開始的

數(shù)組插入元素

數(shù)組名.append (“元素”)

var array = ["a","b","c"]array.append ("d") /*插入一個(gè)元素d*/print (array)

數(shù)組名.insert (“位置”, at: 元素)

var array = ["a","b","c"]array.insert ("0",at: "swift") /*將swift插入第一個(gè)位置*/print (array)

元素的修改 數(shù)組名[位置] = 元素

var array = ["a","b","c"]array [0] = "swift" /*將第一個(gè)元素改為swift*/print (array)

元素的刪除 數(shù)組名.removeLast() 數(shù)組名.removeFirst() 數(shù)組名.remove(at:(位置))

var array = ["a","b","c","d"]array.remove(at:2) /*刪除第二個(gè)元素*/print (array)array.removeLast() /*刪除最后一個(gè)元素*/print (array)array.removeFirst() /*刪除第一個(gè)元素*/print (array)

數(shù)組遍歷

var array = ["a","b","c","d"]for elm in array { print (elm)}

6.4 字典聲明與初始化

字典的概念和定義 (key:value)

6.5 字典聲明與初始化

var dic1 = [] /*空字典*/var dic =["1":"蘋果","2":"梨","3":"菠蘿",4:"香蕉"]print (dic2)var dic3:[String: Int] = ["swift",1] /*元素與類型對應(yīng)*/

6.6 可變字典

字典的改變 數(shù)組名[“key”] = “value”

var dic = ["1":"蘋果","2":"梨","3":"菠蘿","4":"香蕉"]dic["1] = "swift"print (dic)

updateValue對字典的改變

數(shù)組名.updateValue(“key”, forKey: “value”)

updateValue如果字典中有相同的元素,則會替換掉 如果字典中沒有元素,則會增加一組元素

var dic =["1":"蘋果","2":"梨","3":"菠蘿",4:"香蕉"]dic.updateValue ("dff",forKey: "2") /*對字典已有的key進(jìn)行value的修改*/print (dic)dic.updateValue ("www",forKey: "5") /*對字典沒有key進(jìn)行增加*/print (dic)

字典的刪除

數(shù)組名[“key”] = nil 將字典中的value給清除掉

var dic =["1":"蘋果","2":"梨","3":"菠蘿",4:"香蕉"]dic["2"] = nilprint (dic)

6.7 字典遍歷

key的遍歷

var dic =["1":"蘋果","2":"梨","3":"菠蘿",4:"香蕉"]/*對dic中key進(jìn)行輸出*/for dic in dic.keys { print (dic)}

value的遍歷

var dic =["1":"蘋果","2":"梨","3":"菠蘿",4:"香蕉"]/*對dic中value進(jìn)行輸出*/for dic in dic.values { print (dic)}

key和value同時(shí)遍歷

“` var dic =[“1”:”蘋果”,”2”:”梨”,”3”:”菠蘿”,4:”香蕉”] for (key,value) in dic { print ((key,value)) }

for character in dic { print (dic) }

6.8 Swift中的Set集合

Set:集合 ?集 NSSet 是一個(gè)無序?qū)ο蟮募稀<灿袆討B(tài)和靜態(tài)之分,NSSet 是靜態(tài)類型,成員不能被修改。NSMutableSet 是動態(tài)類型,成員可以被修改。 ?集和數(shù)組不一樣的是,它存儲的每一個(gè)元素都是唯一的,沒有完全相同的兩個(gè)元素。所以數(shù)組中如果有兩個(gè)相同的值,轉(zhuǎn)換為集后只會有一個(gè)值。

6.9 Set聲明和初始化

Set 型集合 ,不賦初值,指定數(shù)據(jù)類型為 String 型

let set1 = Set<String>() // 不指定數(shù)據(jù)類型,自動推斷// 指定數(shù)據(jù)類型為 Int 型let set3:Set<Int> = [1, 3, 5, 7]

6.10 可變的Set集合

var swiftSet:Set = [1, 3, 5, 7]// 向集合中添加一個(gè)元素 swiftSet.insert(8) // 刪除第一個(gè)元素swiftSet.removeFirst() // 刪除指定元素swiftSet.remove(1) // 刪除所有元素swiftSet.removeAll(keepCapacity: true) //修改元素 let nsSet:NSMutableSet = [2, 4, 6, 8]nsSet.setSet([1, 2, 3])

6.11 Set集合遍歷

let nsSet:NSSet = [2, 4, 6, 8] // 用閉包遍歷 nsSet.enumerateObjectsUsingBlock { (obj:AnyObject, stop:UnsafeMutablePointer<ObjCBool>) in print(obj)}// 用迭代遍歷 let enu:NSEnumerator = nsSet.objectEnumerator() // AnyObject 后不要加 ?,否則會導(dǎo)致一直循環(huán) while let obj:AnyObject = enu.nextObject() { print(obj) }// 條件遍歷 let set:Set = nsSet.objectsPassingTest { (obj:AnyObject, stop:UnsafeMutablePointer<ObjCBool>) -> Bool in return (obj as! Int) > 5 ? true : false } print(set)

6.12 Set 集合運(yùn)算

let nsCountedSet:NSCountedSet = NSCountedSet(array: [1, 2, 3]) nsCountedSet.addObject(2) nsCountedSet.removeObject(1)// 檢索集合中指定元素的計(jì)數(shù)值let num1:Int = nsCountedSet.countForObject(1)// 檢索集合中指定元素的計(jì)數(shù)值let num2:Int = nsCountedSet.countForObject(2)
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 在线观看免费污视频 | 免费观看一区二区三区视频 | 在线观看免费视频麻豆 | 深夜小视频在线观看 | 大胆在线日本aⅴ免费视频 美国黄色毛片女人性生活片 | 久久久久久久九九九九 | 毛片a级毛片免费播放100 | 国内精品伊人久久久久网站 | 中文成人在线 | 亚洲综人网 | 日本在线播放一区二区三区 | 欧美中文字幕在线视频 | 杏美月av | 国产女同疯狂激烈互摸 | 国产羞羞视频 | 久草在线观看资源 | 北原夏美av| 日日鲁夜夜视频热线播放 | 欧美日韩亚州综合 | 久久久久国产成人精品亚洲午夜 | 成人在线观看免费观看 | 成人午夜视频在线观看免费 | 国产成人自拍小视频 | 亚洲影视中文字幕 | 久久草草影视免费网 | 欧美三级短视频 | 国产亚洲精品久久久久久久久久 | 日韩av片在线免费观看 | 一级黄色在线观看 | 亚洲第一页中文字幕 | 精品一区二区久久久久 | 亚洲午夜久久久久 | 最近国产中文字幕 | 蜜桃精品视频 | 亚洲午夜国产 | 欧美激情性色生活片在线观看 | 国产一级一国产一级毛片 | 国产正在播放 | 性高跟鞋xxxxhd4kvideos | 黄色一级片免费在线观看 | 久久精品日韩一区 |