Swift之数组使用

Swift提供两种类型的集合,一种是数组Array,另外一种是字典Dictionary,他们之间的共同点是都是用来存储相同类型的数据,不同点是数组中存放的数据是有序的,二字典中存放的数据时无序的。字典还具有两外一个特性,就是字典中所存储的数据是键值对(key - value)形式存在。

这里主要写一下Swift中数组类型使用

一、数组类型定义

定义其他变量或者常量一样,如果我们在Swift中定义一个数据,也可以通过类型标注指定他的类型。在Swift中,数组类型有两种写法:

// 一是完整版:
var colorArray : Array<String> = ["red","blue","green"]
//另外一种是简化版
var colorArray1 : [String] = ["red", "blue", "green"]
// 可以使用推导来声明数组
var colorArray2 = ["red", "blue","green"]
var integerArray = [1,2,3]

/*
注:1、我们在定义数组时,指定数组中的数据类型,我们必须统一存放该类型数组
    2、我们在定义数组时,不指定数组中的数据类型,则数组默认为anyObject类型。

*/

二、我们在定义数组时可以不指定数组类型:

var inferList = ["eggs",123,true]
for item in inferList
{
    println("inferList contain item : \(item)")
}
需要指出的是这种情况下产生的数组时NSArray的数组。

判断数组是否为空,Swift中数组为空判断可以直接调用isEmpty方法

if inferList.isEmpty {
    println("inferList为空")
}else{
    println("inferList不空")
}

也可以采用数组元素个数进行判断:

if inferList.count == 0 {
    println("inferList为空")
}else{
    println("inferList不空")
}


三、swift提供两种方法为数组添加元素

第一种:通过调用数组的内嵌方法(append)为数组添加新元素

inferList.append("hello")

第二种:通过加法赋值运算符来为当前数组添加新元素

inferList += ["你好"]

/*

第二种方法更为强大的是可以进行批量添加,批量添加的数组只能存放一种数据类型

inferList += ["红茶","绿","黑茶"]

*/


四、修改数组元素

swift中修改数组中元素可以先通过数组名+方括号+下标的方式来获取数组中某个元素的值

  获取inferList第一个元素

var firseItem = inferList[0]

 修改具体元素的值

inferList[0] = "egg"

 Swift提供了批量修改数组元素的功能

inferList[4...6] = ["呵呵","嘿嘿"]
/*
这种情况下,4、5元素被修改,6及以后元素被移除,若不移除则 <span class="s1" style="font-family: Arial, Helvetica, sans-serif;">inferList</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">[</span><span class="s3" style="font-family: Arial, Helvetica, sans-serif;">4</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">...</span><span class="s3" style="font-family: Arial, Helvetica, sans-serif;">6</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">] = [</span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s5" style="font-family: Arial, Helvetica, sans-serif;">呵呵</span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">, </span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s5" style="font-family: Arial, Helvetica, sans-serif;">哈哈</span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">, </span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s5" style="font-family: Arial, Helvetica, sans-serif;">嘻嘻</span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">]</span>
*/

五、 为数组插入、移除元素

Swift中通过调用insert(atIndex:)方法在数组的任意指定位置插入一个新的元素

inferList.insert("insertElements", atIndex: 0)

Swift中通过调用removeAtIndex方法移除指定位置元素,其他元素自动前移

inferList.removeAtIndex(0)

第一个位置"insertElements"被移除

也可以使用removeLast(),移除最后一个元素

inferList.removeLast()

最后一个元素"黑茶"被移除


六、数组遍历
在Swift中数组遍历一共有两种方法:

1、通过for in 循环快速遍历数组

for item in inferList {
    println(item)
}

2、 通过 enumerate 全局函数来便利数组,这个函数将会将数组中的元素作为一个类型为( index,value )元祖返回

for (var (index,value)) in enumerate(inferList) {
    println("item : \(index), value : \(value)")
}







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值