Swift4.0 Array数组详解

数组的介绍

  数组(Array)是一串有序的由相同类型元素构成的集合,数组中的集合元素是有序的,可以重复出现。在Swift中数组类型是Array,是一个泛型集合。数组分成:可变数组和不可变数组,分别使用let修饰的数组是不可变数组,使用var修饰的数组是可变数组。

数组的初始化

一、初始化一个空数组(类型:[数据类型]())

1、创建一个整形的空数组

  let  array = [Int] ()

  这里array 数组变量 被let 修辞 ,array数组是不可变数组,只能访问,不能修改

  var  array = [Int] ()

这里array 数组变量 被var 修辞 ,array数组是可变数组,可以动态修改  

2、创建任意可存储任意类型的数组 [Any] ()

数组的使用              

 //创建一个可变数组(可存储任意类型的数据)
 var arr:Array = [Any]()
 //创建一个可变数组 (存储字符串类型)
// var arr1:[String] = [String]()
 
// 1 向数组添加元素 appped()函数
 
 //1.1向数组添加一个元素
 arr.append("xiaoming")
 print("arr == \(arr)")
 arr.append(1)
 print("arr = \(arr)");
 
 //1.2向数组添加一个数组
 let addArr:Array = [1,2,"tianjia"] as [Any]
 arr.append(addArr)
 print("addArr = \(arr)")
 
 //1.3使用加法赋值运算符(+=)也可以直接在数组后面添加元素但添加的元素必须是数组形式的 使用+=操作符时,右边的必须为数组,即使只有一个元素时也要为数组,还有就是通过这种方式你可以一次性给数组增加多个值
 let addArr1 = [6,5] as [Any]
 arr += addArr1
 print("arr = \(arr)")
 
 //1.4向数组插入元素
 arr.insert("插入的元素", at: 1)
 
 //2.移除数组里的元素
 //2.1移除特定的元素
 arr.remove(at: 0)
 print("removeArr = \(arr)")
 //2.2移除数组所有元素
 arr.removeAll()
// removeAll方法接受一个参数,允许清空数组时是否保持数组的容量,该参数默认值为false,即将数组的capacity容量设置为0。如果你想保持容量,可以参考下代码:
// var originalCapacity = arr.capacity //
// originalCapacity = 12
// arr.removeAll(keepingCapacity: true)
// var newCapacity = arr.capacity //
// newCapacity = 12
// 由上代码可以看出emptyArray在需要重新分配内存之前可以存储12个值,然而使用removeAll(),newCapcity则等于0。
 
 //2.3移除数组的第一个元素
// arr.removeFirst()
 //2.4移除数组的最后一个元素
// arr.removeLast()
// 在这些移除的方法里都有返回被移除的数据
 
// 3. 数组的长度
 let count = arr.count
 print("arrCont = \(count)")
 
// 4.数组中元素的修改
 arr[1] = "xiugai"
 print("xiuGai = \(arr)")
 
// 5.访问数组中的元素
 let item = arr[1]
 print("item = \(item)")

遍历数组

var stringArr:[String] = ["xiaoming","tianya","xiaoming","tiantian"]
 // 遍历数组
 for item in stringArr {
  print("iteem == \(item)")
 }
 
 for item in 0..<stringArr.count {
  print("iteem == \(item)")
 }
 
 // 设置遍历的区间
 for item in stringArr[0...2] {
  print("iteem == \(item)")
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。