//=========================== //2014/7/21 17:27 swift集合 //===========================java
swift提供了两种集合类型,arrays和dictionaryies,两种集合都是可变的,能够在集合声明后对其进行新增、删除和修改操做。 一、array 数组的定义与java数组相同,但swift的数组提供了更灵活的建立方式和操做方式。swift
数组建立和初始化方式: var array1: Array<T> = [val1,val2,val3] var array2: T[] = [val1,val2,val3] // 经常使用数组
建立空数组 var arrays = Array<T>() var arrays = Tapp
建立重复值数组 var arrays = Array(count:3,repeateValue:0.0) // 编译器会去自动识别值的类型 var arrays = T函数
经常使用函数和属性: array2.count (-> Int) // 输出元素的个数 array2.isEmpty (-> Bool) // 判断数组是否为空数组 array2.append(val4) // 追加数组元素 array2 += val4 // 追加数组元素 array2 += [val5,val6] // 追加一组数组元素 array2[0] = val7 // 修改指定下表下元素的值 array2[4...6] = [val5,val6] // 将下标 4~6的元素,替换为对应的元素,这样数组的元素个数可能减小或者增长 array2.insert(val7,atIndex:0) // 在指定下标增长新元素,自动向后移位 array2.removeAtIndex(0) // 移除指定位置的元素,并返回该元素。 array2.removeLast() // 移除最后一个元素,并返回钙元素code
数组的遍历与java相似,for语法,采用swift的语法便可 for item in array2 { println("(item)") } 取数组下标及下标对应的值,采用enumerate全局函数 for (index,value) in enumerate(array2) { println("item (index + 1): (value)") }rem
二、数据字典(Dictionary) 这里的数据字段是key-value形式的一组值 var dicts = ["cls1":"JAVA","cls2":"C++","cls3":"Swift"] dicts["cls3"] // 输出 Swift dicts["cls3"] = nil // 会把 "cls3":"Swift"这一对值删除 dicts["cls3"] = "C" // 修改值 dicts["cls4"] = "Swift" // 新增一对值 dicts.removeValueForKey["cls4"] // 根据key值删除,并返回valueget
数据字典提供了 key-value遍历,key遍历,value遍历 for (key, val) in dicts { println("(key) : (val)") } for key in dicts.keys { println("(key)") } for val in dicts.values { println("(val)") }编译器
空数据字典实例化 var namesOfIntegers = Int: Stringhash
namesOfIntegers = [:] // 清空字典
数据字典的key的类型,必须是能够计算出hash值的类型 若是 a == b , 那么有 a.hashValue = b.hashValue