swift数组使用介绍 – Swift最新教程

上一章Swift教程请查看:swift字符和字符串

Swift数组用于存储相同类型值的有序列表,Swift坐严格的类型检查,不允许你在数组中输入错误的类型,即使是错误的。

如果你将一个创建的数组赋值给一个变量,那么它总是可变的,这意味着你可以通过添加、删除或更改其项来更改它;但如果将数组赋给常量,则该数组是不可变的,其大小和内容不能更改。

创建数组

可以使用以下初始化器语法创建某个类型的空数组:

var someArray = [SomeType]()

下面是创建具有给定大小的数组并使用值初始化它的语法

var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)

可以使用以下语句创建一个Int类型的空数组,该数组有3个元素,初始值为0 –

var someInts = [Int](count: 3, repeatedValue: 0)

下面是另一个例子,它创建一个由三个元素组成的数组,并为该数组分配三个值

var someInts:[Int] = [10, 20, 30]

访问数组

你可以使用下标语法从数组中检索一个值,即在数组名称之后立即在方括号中传递要检索的值的索引,如下所示:

var someVar = someArray[index]

这里,索引从0开始,这意味着可以使用索引0访问第一个元素,使用索引1访问第二个元素,以此类推。下面的示例演示如何创建、初始化和访问数组

var someInts = [Int](count: 3, repeatedValue: 10)

var someVar = someInts[0]
print( "第1个元素的值为 \(someVar)" )
print( "第2个元素的值为 \(someInts[1])" )
print( "第3个元素的值为 \(someInts[2])" )

修改数组

可以使用append()方法或加法赋值运算符(+=)在数组末尾添加新项。请看下面的例子,在这里,我们首先创建一个空数组,然后将新元素添加到相同的数组中

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

var someVar = someInts[0]

print( "第1个元素的值为 \(someVar)" )
print( "第2个元素的值为 \(someInts[1])" )
print( "第3个元素的值为 \(someInts[2])" )

你可以修改数组中的现有元素,方法是在给定的索引处赋值,如下例所示:

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

// 修改最后一个元素
someInts[2] = 50

var someVar = someInts[0]

print( "第1个元素的值为 \(someVar)" )
print( "第2个元素的值为 \(someInts[1])" )
print( "第3个元素的值为 \(someInts[2])" )

遍历一个数组

可以使用for-in循环遍历数组中的整个值集,如下例所示

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Srcmini"]
for item in someStrs {
   print(item)
}

你可以使用enumerate()函数,它将返回项目的索引及其值,如下面的示例所示

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Srcmini"]

for (index, item) in someStrs.enumerated() {
   print("Value at index = \(index) is \(item)")
}

添加两个数组

你可以使用加法运算符(+)来添加两个相同类型的数组,这将产生一个新数组,其中包含来自这两个数组的值的组合,如下所示

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB
for item in intsC {
   print(item)
}

数组的count属性

你可以使用数组的只读计数属性来查找数组中的项数,如下所示

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

print("intsA中的项目总数 = \(intsA.count)")
print("intsB中的项目总数 = \(intsB.count)")
print("intsC中的项目总数 = \(intsC.count)")

数组的empty属性

你可以使用数组的只读空属性来确定数组是否为空,如下所示

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = [Int]()

print("intsA.isEmpty = \(intsA.isEmpty)")
print("intsB.isEmpty = \(intsB.isEmpty)")
print("intsC.isEmpty = \(intsC.isEmpty)")
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?