Swift学习:7.数组
来源:互联网 发布:温州市网络问政平台 编辑:程序博客网 时间:2024/06/06 02:06
数组
数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。
数组构造语句
我们可以使用字面量来进行数组构造,这是一种用一个或者多个数值构造数组的简单方法。字面量是一系列由逗号分割并由方括号包含的数值。 [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.countshoppingList.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], 等于 [0.0, 0.0, 0.0, 2.5, 2.5, 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 inshoppingList{
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)
- Swift学习:7.数组
- 每日 swift 学习 (数组)
- swift学习之数组
- swift 学习<三> 数组
- Swift学习 数组
- Swift 基础学习(数组)
- Swift学习 数组
- swift 学习,数组
- Swift学习笔记-数组Array
- Swift学习笔记之数组
- swift学习之路-数组
- Swift学习笔记(5)--数组
- swift简单学习之数组
- Swift中级学习 数组Array
- Swift 4.0 数组(Array)学习
- Swift学习记录 -- 7.数组的基本操作
- Swift学习笔记(十九)——Swift数组
- Swift 学习之数组(unshare)
- EPT和VPID简介
- 在Eclipse中将Java工程打包成Jar包
- setPadding无效
- linux之curl命令常用总结
- 当下全球最炙手可热的八位少年创业者
- Swift学习:7.数组
- Java的深拷贝和浅拷贝(转载)
- Windows CE: Prefetch Aborts, why they are difficult to locate
- 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位...
- dhcpv6 server test env building
- Android searchView和listview实现搜索
- 矩阵链乘法
- Apache配置禁止访问某些文件或目录
- linux用curl命令测试Post请求