Swift - 数组

Swift - 数组 首页 / Swift入门教程 / Swift - 数组

Swift 4数组用于存储相同类型的值的有序列表。

如果将创建的数组分配给变量,则它始终是可变的,这意味着您可以通过添加,删除或更改其元素来对其进行更改;但是,如果将数组分配给常量,则该数组是不可变的,并且其大小和内容无法更改。

创建数组

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

var someArray=[SomeType]()

这是创建给定大小a *的数组并将其初始化为值的语法-

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

您可以使用以下语句创建具有3个元素且初始值为零的 Int 类型的空数组-

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

以下是一个示例,创建一个包含三个元素的数组并将三个值分配给该数组-

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

访问数组

您可以使用 subscript 语法从数组中检索值,在数组名称后紧跟在方括号内传递要检索的值的索引,如下所示-

无涯教程网

var someVar=someArray[index]

在这里, index 从0开始,这意味着可以使用索引为0来访问第一个元素,可以使用索引为1来访问第二个元素,依此类推。以下示例显示如何创建,初始化和访问数组-

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

var someVar=someInts[0]
print( "Value of first element is\(someVar)" )
print( "Value of second element is\(someInts[1])" )
print( "Value of third element is\(someInts[2])" )

编译并执行上述代码后,将产生以下输出-

Value of first element is 10
Value of second element is 10
Value of third element is 10

修改数组

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

var someInts=[Int]()

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

var someVar=someInts[0]

print( "Value of first element is\(someVar)" )
print( "Value of second element is\(someInts[1])" )
print( "Value of third element is\(someInts[2])" )

编译并执行上述代码后,将产生以下输出-

Value of first element is 20
Value of second element is 30
Value of third element is 40

您可以通过在给定索引处分配新值来修改Array的现有元素,如以下示例所示-

var someInts=[Int]()

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

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

var someVar=someInts[0]

print( "Value of first element is\(someVar)" )
print( "Value of second element is\(someInts[1])" )
print( "Value of third element is\(someInts[2])" )

编译并执行上述代码后,将产生以下输出-

Value of first element is 20
Value of second element is 30
Value of third element is 50

遍历数组

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

var someStrs=[String]()

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

编译并执行上述代码后,将产生以下输出-

Apple
Amazon
Google

您可以使用 enumerate()函数,该函数返回项目的索引及其值 如下示例所示-

var someStrs=[String]()

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

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

编译并执行上述代码后,将产生以下输出-

Value at index=0 is Apple
Value at index=1 is Amazon
Value at index=2 is Google

数组相加

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

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

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

编译并执行上述代码后,将产生以下输出-

2
2
1
1
1

数组统计

您可以使用数组的只读 count 属性来找出数组中显示的项目数,如下所示-

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

var intsC=intsA + intsB

print("Total items in intsA =\(intsA.count)")
print("Total items in intsB =\(intsB.count)")
print("Total items in intsC =\(intsC.count)")

编译并执行上述代码后,将产生以下输出-

Total items in intsA=2
Total items in intsB=3
Total items in intsC=5

空数组

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

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-arrays.html

来源:LearnFk无涯教程网

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)")

编译并执行上述代码后,将产生以下输出-

intsA.isEmpty=false
intsB.isEmpty=false
intsC.isEmpty=true

内置数组函数及其属性的列表:

IndexArray functionExplanation
1.isEmptyisEmpty属性用于确定数组是否为空。如果数组不包含任何值,则返回true,否则返回false。
2.first此属性用于访问数组的第一个元素。
3.appendappend函数用于在数组末尾插入/追加元素。
4.insert此函数用于在数组的特定索引处插入/附加元素。
5.remove此函数从数组中删除并返回在特定位置指定的值。
6.reversed此函数以相反的顺序返回数组的元素。
7.count此属性返回数组中元素的总数。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

高并发系统设计40问 -〔唐扬〕

编译原理实战课 -〔宫文学〕

To B市场品牌实战课 -〔曹林〕

深度学习推荐系统实战 -〔王喆〕

Django快速开发实战 -〔吕召刚〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

JavaScript进阶实战课 -〔石川〕

结构思考力 · 透过结构看思考 -〔李忠秋〕

程序员职业规划手册 -〔雪梅〕

好记忆不如烂笔头。留下您的足迹吧 :)