加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift学习:7.数组

发布时间:2020-12-14 02:12:53 所属栏目:百科 来源:网络整理
导读:数组 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。 数组构造语句 我们可以使用字面量来进行数组构造,这是一种用一个或者多个数值构造数组的简单方法。字面量是一系列由逗号分割并由方括号包含的数值。 [value 1,va

数组

数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。

数组构造语句

我们可以使用字面量来进行数组构造,这是一种用一个或者多个数值构造数组的简单方法。字面量是一系列由逗号分割并由方括号包含的数值。[value 1,value 2,value 3]

下面这个例子创建了一个叫做shoppingList并且存储字符串的数组:

var shoppingList: [String] = ["Eggs","Milk"]
// shoppingList 已经被构造并且拥有两个初始项。

由于 Swift 的类型推断机制,当我们用字面量构造只拥有相同类型值数组的时候,我们不必把数组的类型定义清楚。shoppinglist的构造也可以这样写:

var shoppingList = ["Eggs","Milk"]

多个类型存储到统一数组时,数组默认为AnyObject类型

var shoppingList = ["Eggs",123,12.5, true] 

访问和修改数组

我们可以通过数组的方法和属性来访问和修改数组,或者下标语法。

shoppingList.isEmpty()
shoppingList.count
shoppingList.append("Flour")
shoppingList += ["Baking Power"]
var firstItem = shoppingList[0]
shoppingList[0] = "Six eggs"
shoppingList[4..6] = ["Bananas","Apples"]
shoppingList.insert("Maple Syrup",atIndex:0)
let mapleSyrup = shoppingList.removeAtIndex(0)
let apples = shoppingList.removeLast()


数组的遍历

for item in shoppingList {
    println(item)
}
for (index,value) in enumerate(shoppingList) {
    println("Item (index + 1): (value)")
}

创建并且构造一个数组

我们可以使用构造语法来创建一个由特定数据类型构成的空数组:

var someInts = [Int]()
someInts.append(3)
// someInts 现在包含一个INT值
someInts = []
// someInts 现在是空数组,但是仍然是[Int]类型的。

Swift 中的Array类型还提供一个可以创建特定大小并且所有数据都被默认的构造方法。我们可以把准备加入新数组的数据项数量(count)和适当类型的初始值(repeatedValue)传入数组构造函数:

var threeDoubles = [Double](count: 3,repeatedValue:0.0)
// threeDoubles 是一种 [Double]数组,等于 [0.0,0.0,0.0]

因为类型推断的存在,我们使用这种构造方法的时候不需要特别指定数组中存储的数据类型,因为类型可以从默认值推断出来:

var anotherThreeDoubles = Array(count: 3,repeatedValue: 2.5)
// anotherThreeDoubles is inferred as [Double],and equals [2.5,2.5,2.5]

最后,我们可以使用加法操作符(+)来组合两种已存在的相同类型数组。新数组的数据类型会被从两个数组的数据类型中推断出来:

var sixDoubles = threeDoubles + anotherThreeDoubles
// sixDoubles 被推断为 [Double],2.5]

示例代码:

var shoppingList: [String] = ["eggs","milk"]

var shoppingList2 = ["eggs","milk"]

shoppingList2[0] = "vege"

println("The shop List contains (shoppingList.count) items")

if shoppingList.isEmpty{

println("shoppingList is empty")

}else{

println("shoppingList is not empty")

}

shoppingList.append("food")

println("(shoppingList.count)")

var firstList = shoppingList[0]

println("(firstList)")

shoppingList.insert("vege",atIndex: 0)

//let mable = shoppingList.removeAtIndex(1)

//shoppingList.removeAtIndex(shoppingList.count-1)

//shoppingList.removeLast()

for item in shoppingList{

println(item)

}

for (index,value) in enumerate(shoppingList){

println("index is (index) value is " + value)

}

var someInts2:[Int] = [1,2,3,4,5]

var someInts = [Int]()

println("(someInts.count)")

someInts.append(3)

someInts = []


var threeDoubles = Array(count: 3,repeatedValue: 0.2)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读