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)")
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-04 12:36:48

Swift之数组使用的相关文章

Swift 之数组与字典

http://www.cocoachina.com/swift/20151230/14802.html 说到数组和字典,只要是编过程的小伙伴并不陌生.在Swift中的数组与字典也有着一些让人眼前一亮的特性,今天的博客就来窥探一下Swift中的Array和Dictionary.还是沿袭之前的风格,在介绍Swift中的数组时,我们会对比一下ObjC中的数组和字典,因为ObjC也是iOS开发的主要语言不是.无论是简单还是复杂的程序,数组和字典的用处还是比较多的,这两者虽然是Swift的基础内容,但是也

Swift的数组与OC中数组的区别

相同的值可以多次出现在一个数组的不同位置: Swift中的数组,数据值在被存储进入到某个数组之前类型必须明确,可以显示的类型标注或者类型推断.而且,Swift中的数组不必是对象类型. OC中的NSArray和NSMutableArray,他们可以存储任何类型的实例,而且不提供他们返回对象的任何本质信息. Swift的数组与OC中数组的区别,布布扣,bubuko.com

窥探Swift之数组安全索引与数组切片

在Swift中的数组和字典中下标是非常常见的,数组可以通过索引下标进行元素的查询,字典可以通过键下标来获取相应的值.在使用数组时,一个常见的致命错误就是数组越界.如果在你的应用程序中数组越界了,那么对不起,如果由着程序的性子的话是会崩溃的.为了防止崩溃呢,我们会对集合做一些安全的处理.比如对数组进行扩展,从而对数组的索引进行安全检查,保证数组的index在正常范围内.在Objective-C中也是经常对数组,字典等做一些处理操作. 今天的博客的主要内容是先对Objective-C中常用集合的安全

Swift学习----数组

数组(有序数据的集) *格式 : [] / [Int]() / Array<Int>() * let 不可变数组 * var 可变数组 注意: * 不需要改变集合的时候创建不可变集合是很好的实践.如此 Swift 编译器可以优化我们创建的集合. // 声明数组 let arr1: Array<Int> // 推荐 let arr2: [Int] arr2 = [10, 20] // 先定义再初始化 //arr2 = [30, 40] var arr3: [Double] arr3

Swift中数组和字典都是值类型

在 Swift 中,所有的基本类型:整数(Integer).浮点数(floating-point).布尔值(Boolean).字符串(string).数组(array)和字典(dictionary),都是值类型,并且在底层都是以结构体的形式所实现.类是引用类型. 1.测试数组是否为值类型 var testArray = [String]() testArray.append("AA") testArray.append("BB") testArray.append(

swift中数组和字典得使用,及循环得使用方法(xcode6版本上所写代码)

// // main.swift // 数组 // // Created by Mac on 15-9-9. // Copyright (c) 2015年 青苹果. All rights reserved. // import Foundation //不可变数组,用let定义即可 var array:[String] = ["ss","set","jim"] println("\(array)") var array1:[F

swift的数组和字典使用

// //  ViewController.swift //  swift基本语法004 // //  Created by Ninesday on 16/6/22. //  Copyright © 2016年 Ninesday. All rights reserved. // import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //   

swift Array 数组

// //  main.Swift //  swift数组 // //  Created by zhangbiao on 14-6-15. //  Copyright (c) 2014年 理想. All rights reserved. // import Foundation println("数组") /* Swift 语言中的数组用来按顺序存储相同类型的数据 */ //1.定义数组 var numarr:Int[] = [1,3,5,7,9]; var strarr:String

Swift中数组集合-b

数组(Array)是一串有序的由相同类型元素构成的集合.数组中的集合元素是有序的,可以重复出现. 声明一个Array类型的时候可以使用下面的语句之一. var studentList1:Array<String> var studentList2: [String] 声明的Array还不能用,还需要进行初始化,Array类型往往在声明的同时进行初始化.示例代码如下: var studentList1:Array<String> = ["张三","李四&