首页 > 代码库 > swift学习笔记之二——集合
swift学习笔记之二——集合
//===========================
//2014/7/21 17:27 swift集合
//===========================
swift提供了两种集合类型,arrays和dictionaryies,两种集合都是可变的,可以在集合声明后对其进行新增、删除和修改操作。
1、array
数组的定义与java数组相同,但swift的数组提供了更灵活的创建方式和操作方式。
数组创建和初始化方式:
var array1: Array<T> = [val1,val2,val3] var array2: T[] = [val1,val2,val3] // 常用
创建空数组
var arrays = Array<T>() var arrays = T[]()
创建重复值数组
var arrays = Array(count:3,repeateValue:0.0) // 编译器会去自动识别值的类型 var arrays = T[](count:3,repeateValue:0.0)
常用函数和属性:
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() // 移除最后一个元素,并返回钙元素
数组的遍历与java类似,for语法,采用swift的语法即可
for item in array2 { println("\(item)") }
取数组下标及下标对应的值,采用enumerate全局函数
for (index,value) in enumerate(array2) { println("item \(index + 1): \(value)") }
2、数据字典(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值删除,并返回value
数据字典提供了 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: String]() namesOfIntegers = [:] // 清空字典
数据字典的key的类型,必须是可以计算出hash值的类型
如果 a == b , 那么有 a.hashValue = http://www.mamicode.com/b.hashValue
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。