swift集合类型——数组和字典
Swift 语言提供了数组和字典两种集合类型来存储集合数据。数组用来按顺序存储相同类型的数据。字典则是以无序的方式来存储键值对(key,value)。数组和字典都是强类型的,也就意味着,数组和字典在声明时必须指明类型。 本篇博客我们来分别讨论swift中的数组和字典 数组数组就是以一个从头到尾的顺序存储相同类型值的容器。相同的值可以在一个数组中出现多次。下面来创建并初始化两个数组: 创建数组var intArray : [Int] = [1,2,3]
var strArray : [String] = ["hello","world"]
注意:我现在编写的swift代码的版本是swift2.1,数组的类型是[Type],而不是Type[] var intArray = [1,3]
var strArray= ["hello","world"]
可以这样来创建一个空数组 var emptyArray = [Int]()
访问和修改数组我们可以通过访问数组下标来获取数组中某个元素的值,也可以通过数组的其它属性和方法来修改数组。 //获取数组中的元素个数
var itemCount = intArray.count
//判断数组是否为空
var isEmpty = intArray.isEmpty
//通过下标来访问数组的某个元素
var item = intArray[0]
//向数组的最后面加入元素
intArray.append(4)
//改变某个位置上元素的值
intArray[0] = 0
//移除某个位置的元素
var removedItem = intArray.removeAtIndex(1)
//判断数组是否包含某个值
intArray.contains(2)
//向数组的某个位置插入一个值
intArray.insert(2,atIndex: 1)
//再次判断
intArray.contains(2)
如果你认为swift关于数组的操作就这么多,那你就错了,下面来两个更强大的功能:数组的拼接和区域内赋值 var anotherIntArray = [4,5,6]
intArray += anotherIntArray
strArray += ["hello","swift"]
数组的拼接是把第二个数组全部接到第一个数组的最后面 intArray[2...4] = [1,2]
intArray[2...4] = []
这个区域内赋值(这个名字是我瞎编的,哈哈),就是把数组的下标在2到4之间的元素替换为等号后面给定的数组,任意长度哦,(可以为空数组哦,瞬间变成批量移除哦) 数组的遍历我们可以使用传统的for循环语法来遍历数组,也可以使用for-in的语法来遍历数组 for var i = 0 ;i < intArray.count ; i++ { print(intArray[i]) }
for item in intArray{ print(item) }
常量数组如果把一个数组声明为常量,则:
//声明一个常量数组
let intArray = [1,3]
intArray.append(4) //报错,数组长度不可被修改
intArray[0] = 0 //报错,数组内的任意元素不可被修改
字典字典是一组特定类型的键值对。下面来创建一个字典 var dic = [1:"one",2:"two",3:"three"]
if let value = dic[2]{
print(value)
}
dic[4]="foure"
print(dic[4])
输出结果为 two
Optional("foure")
我通过字面值来创建了一个Dictionary 字典的遍历用for…in的方式来遍历字典 for (number,str) in dic{
print(number)
print(str)
}
字典中的每个项都通过元组的形式返回。 for key in dic.keys{
print(key)
}
for v in dic.values{
print(v)
}
遍历字典时,所有的值都是非可选的。 常量字典与常量的数组不同,常量的字典中的键的值是不可修改的,当然,字典的长度也是不能修改的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |