首页 > 代码库 > swift 初见-5集合类型

swift 初见-5集合类型

// Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"// swift的集合类型只有数组和字典// 数组中只能存储相同类型的数据(可以是基本类型,也可以是类对象)// 申明方法  [String] Array<String>// 一旦隐是声明后,他的类型就确定了,不能在存储其他类型的数据了var array=["a","b"]var array1:[String]=["a","b"]var array2:Array<String>=["a","b"]array[0]="aaa"arrayvar array4=[Int]()var string=String()var array5=Array<String>()// 这样不会报错,但是没有申明具体的类型,它默认的会是OC中得NSArray类型的数组,所以这样定义的数组已经失去了它的意义了,没法做太多操作// var array6=[]//array6.append(3)    //error: ‘NSArray‘ does not have a member named ‘append‘// 清空数组 array1=[]  // 清空后并不能改变它能存储的数据类型array1.append("ccc")array1=[String]()array1=Array<String>()// 创建并初始化var array6=[Int](count: 10, repeatedValue: 0)array6.append(100)array6// 合并数组var array7=[1,2,3]var array8=array6 + array7array8array8 += [4,5]println(array8)array8.removeAtIndex(14)// insert ,romove 方法和其他的差不多array8.removeLast()// 注意index都要在索引值内部// 批量替换,注意是三个点号array8[2...4] = [2,2,2]array8array8[2...4]=[100]   // 不需要元素个数与修改的个数相匹配array8//array8[2...4]=0       // 这样写是错误的for index in 0...array.count{    println(index)}for item in array{    println(item)}// 使用enumerate函数for (index,item) in enumerate(array){    println("\(index)-\(item)")}// dictionarys  字典是无序的var dictionarys=[1:"a",2:"b"]  // 隐式声明// 存储的键和值可以任意类型// 一个字典只能存储固定的一种键和值的数据类型搭配 (!!特别重要)// Dictionary<Int,String>      // 显示声明// 注意分割符是 , 号而不是: 号 var dict1:Dictionary<Int,String>=[1:"bbb"]  println(dict1)  // 这里分割是 : 号 并不是 , 号var dict2:[Int:String]=[1:"aaa"]// var dict3:[Int , String]=[1:"aaa"]  // 错误println(dict2)// 清空字典var dict3=Dictionary<Int,String>()var dict4=[Int:String]()// 简便方法清空字典dict2=[:]   // 同样清空并不能改变一个字典可以存储的数据类型dictionarys.countdictionarys.isEmptydictionarys[1]  //可选型数据,// "hahha"+dictionarys[1] //错误写法"hahha"+dictionarys[1]!   // 正确// key是不可重复的// 插入新值dictionarys[3]="c"  // 插入无对应的新key和值println(dictionarys)// 修改dictionarys[3]="3c"var oldValue=dictionarys.updateValue("3ccc", forKey: 3)// 删除dictionarys[3]=nilprintln(dictionarys) dictionarys.removeValueForKey(2)  //有返回值的,返回被删除的值 // 遍历字典 for (key,value) in dictionarys {    println("\(key) : \(value)") }   dictionarys.keys dictionarys.values for key in dictionarys.keys {    println(key) } for value in dictionarys.values {    println(value) }   // let 型数组或者字典定义后是不可以有任何更改操作的

 

swift 初见-5集合类型