1 // 2 3 // ViewController.swift 4 5 // Swift-Array 6 7 // 8 9 // Created by luorende on 16/9/12. 10 11 // Copyright © 2016年 luorende. All rights reserved. 12 13 // 14 15 16 17 import UIKit 18 19 20 21 class ViewController: UIViewController { 22 23 24 25 override func viewDidLoad() { 26 27 super.viewDidLoad() 28 29 // Do any additional setup after loading the view, typically from a nib. 30 31 32 33 34 35 /** 36 37 数组 38 39 数组的介绍 40 41 数组(Array)是一串有序的由相同类型元素构成的集合 42 43 数组中的集合元素是有序的,可以重复出现 44 45 Swift中的数组 46 47 swift数组类型是Array,是一个泛型集合 48 49 数组的初始化 50 51 数组分成:可变数组和不可变数组 52 53 使用let修饰的数组是不可变数组 54 55 使用var修饰的数组是可变数组 56 57 */ 58 59 60 61 62 63 64 65 // 定义一个可变数组,必须初始化才能使用 66 67 var array1 : [String] = [String]() 68 69 print(array1) 70 71 // 定义一个不可变数组 72 73 let array2 : [NSObject] = ["age", 18] 74 75 print(array2) 76 77 // 在声明一个Array类型的时候可以使用下列的语句之一 78 79 // 可变数组类型,其数组中值必须为字符串 80 81 82 83 var stuArray1:Array84 85 var stuArray2: [String] 86 87 // 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的 88 89 // 定义时直接初始化 90 91 var array = ["why","only","you"] 92 93 // 先定义,后初始化 94 95 var array : Array 96 97 array = ["why", "only", "you"] 98 99 100 101 102 103 104 105 106 107 // 数组的长度108 109 let Arr = ["hell0","swift"]110 111 let count = Arr.count //count 属性 返回 数组的长度112 113 print( "count=\(count)")114 115 /**116 117 运行结果:count=2118 119 */120 121 122 123 124 125 126 127 //数组中变量值的修改128 129 var str = [81,82,85]130 131 str[2] = 83 //str[2] 指的是数组中索引为2的变量值即85 重新赋值为83132 133 print("str=\(str)")134 135 136 137 138 139 140 141 142 143 //数组的追加---appped()函数144 145 var arr = [1,2] //定义整形数组变量arr146 147 arr.append(3)//append(3) 是在arr数组的尾端追加变量值3到数组中 即数组长度增加1148 149 print(" arr = \(arr) 长度=\(arr.count)")150 151 /**152 153 运行结果: arr = [1, 2, 3] 长度=3154 155 */156 157 158 159 160 161 162 163 164 165 166 167 //1 访问元素168 169 170 171 var test1Array=["你好","Swift","我在学习Swift"]172 173 print("第一个元素:\(test1Array.first)")174 175 print("最后一个元素:\(test1Array.last)")176 177 178 179 //2 获取数组元素的个数180 181 print("数组个数为:\(test1Array.count)")182 183 184 185 186 187 // 另外一种方式访问素组就是通过循环方式,可以采用loop方式或者for-in循环。188 189 var sum = 0190 191 for number in literalArray192 193 {194 195 sum += number196 197 }198 199 200 201 // 这段代码实现的是遍历数组,并将素组的每个元素相加统计他们的和。202 203 204 205 206 207 208 209 210 211 // 3 可变数组的插入 Insert(变量值 , atIndex: 索引)212 213 //数组的追加 Insert(变量值 ,atIndex:索引)214 215 var arr2 = [10,11] 216 217 arr2.insert(9,atIndex:0) // 在数组arr中0的位置插入变量值9 数组长度加1218 219 print("arr2=\(arr2) 长度=\(arr2.count)")220 221 /**222 223 运行结果:arr2=[9, 10, 11] 长度=3224 225 */226 227 228 229 230 231 232 233 // 可变数组的移除 removeAtIndex(索引),removeLast()234 235 // 数组的移除 removeAtIndex(索引)数组指定位置移除变量值236 237 var arr3 = [100,101,102]238 239 arr3.removeAtIndex(0)//移除数组arr3中索引为0 的变量值,数组长度减1240 241 print("arr3 =\(arr3) 长度=\(arr3.count)")242 243 244 245 /**246 247 运行结果:arr3 =[101, 102] 长度=2248 249 */250 251 252 253 254 255 256 257 // 数组的移除 removeLast() 数组尾端移除变量值258 259 var arr4 = [200,201,202]260 261 arr4.removeLast() //移除数组arr3中尾端的变量值,数组长度减1262 263 print(" arr4 =\(arr4) 长度=\(arr4.count)")264 265 /**266 267 运行结果:arr4 =[200, 201] 长度=2268 269 */270 271 272 273 274 275 276 277 278 279 //创建空数组280 281 /** 282 283 1: [Int] () 是整形空数组284 285 2: array 数组变量 被let 修辞 ,array数组只能访问286 287 */288 289 // let array = [Int] ()290 291 292 293 294 295 /**296 297 1: [Int] () 是整形空数组298 299 2: arr1 数组变量 被var 修辞 ,array数组是可变数组,可以动态修改300 301 */302 303 304 305 306 307 308 309 310 311 //判断数组是否为空312 313 let arr5 = [Int] ()314 315 if arr5.isEmpty { //isEmpth 是判断数组是否是空数组316 317 print("arr5 数组为空")318 319 }320 321 else{ 322 323 print("arr5 数组不为空")324 325 }326 327 /**328 329 运行结果330 331 arr5 数组为空332 333 */334 335 336 337 338 339 340 341 //3 判断数组是否为空342 343 let test3Array:[String]=[]344 345 346 347 //方法1,根据数组元素的个数判断348 349 if test3Array.count==0{350 351 print("此数组为空")352 353 }354 355 //方法2,i356 357 // sEmpty358 359 if test3Array.isEmpty {360 361 print("此数组为空") 362 363 } 364 365 366 367 368 369 370 371 372 373 374 375 // 数组的遍历376 377 var array5 = ["why","only","you"]378 379 // 遍历数组380 381 for i in 0..