美文网首页
07.Swift 数组

07.Swift 数组

作者: Liwx | 来源:发表于2016-02-01 18:04 被阅读209次

    @(〓〓 iOS-Swift语法)[Swift 语法]


    目录

    • 7.数组
      • 数组的介绍
      • 数组的初始化
      • 数组的基本操作(增删改查)
      • 数组的遍历
      • 数组的合并

    数组的介绍

    • 数组(Array)是一串有序的由相同类型元素构成的集合
    • 数组中的集合元素是有序的,可以重复出现
    • Swift中的数组
      • swift数组类型是Array,是一个泛型集合.

    数组的初始化

    • 数组可分为两种:可变数组和不可变数组
      • 使用let修饰的数组是不可变数组
      • 使用var修饰的数组是可变数组
    
    // ------------------------------------------------------------------------
    // 定义一个可变数组,必须初始化才能使用
    var array1 : [String] = [String]()
    
    
    // ------------------------------------------------------------------------
    // 定义一个不可变数组
    let array2 : [NSObject] = ["liwx", 18]
    
    • 在声明一个Array类型的时候可以使用下列的语句之一
    var stuArray1:Array<String>
    var stuArray2: [String]
    
    • 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的
    
    // ------------------------------------------------------------------------
    // 定义时直接初始化
    var array = ["liwx", "lll", "lwe", "lwu"]
    
    
    // ------------------------------------------------------------------------
    // 先定义,后初始化
    var array : Array<String>
    array = ["liwx", "lll", "lwe", "lwu"]
    
    • 数组的多种定义方式
    // ----------------------------------------------------------------------------
    // 1.定义数组
    
    // ------------------------------------------------------------------------
    // 1.1 定义不可变数组: 使用let修饰
    let array : Array<String> = ["liwx", "lll", "lwe", "lwu"]
    
    
    // ------------------------------------------------------------------------
    // 常见写法
    let array1 : [String] = ["liwx", "lll", "lwe", "lwu"]
    let array2 = ["liwx", "lll", "lwe", "lwu"]
    
    // 整型数组
    let array3 : [Int] = [18, 19, 20]
    // 数组中包含各种不同类型
    let array4 : Array<NSObject> = [18, "liwx", 1.88]
    
    // ------------------------------------------------------------------------
    // 在指定数组的类型是NSObject 类型时,除了可以写成NSObject之外,也可以写成AnyObject
    // AnyObject也相当于任意对象,一般用于指定数组或字典集合的泛型类型
    // 数组中包含任意类型
    let array5 : [NSObject] = [18, "liwx", 1.88]
    let array6 = [18, "liwx", 1.88]
    let array7 : [AnyObject] = [18, "liwx", 1.88]
    
    
    // ------------------------------------------------------------------------
    // 1.2 定义可变数组: 使用var修饰
    var names : [String] = ["liwx", "lll", "lwe", "lwu"]
    
    // 在创建一个数组是,必须指定该数组中存放 `元素的数据类型`
    // 不常见用法
    var names1 : [String] = Array()
    var names2 = Array<String>()
    
    // 常见写法
    var names3 = [String]()
    
    

    数组的基本操作(增删改查)

    • 数组数据的增删改查
    // ----------------------------------------------------------------------------
    // 2.可变数组的基本操作
    var strNames : [String] = ["liwx", "lll", "lwe", "lwu"]
    // 2.1 添加元素, 
    // 注意: 不可变数组不能append添加 array.append("aaa")
    strNames.append("linux")
    
    // 2.2 删除元素:
    strNames.removeAtIndex(1)
    
    // 2.3 修改元素
    strNames[1] = "lsm"
    
    // 2.4 查询元素
    strNames[0]
    
    // 获取索引值
    strNames.indexOf("lsm")
    

    数组的遍历

    • 数组的遍历
    // ----------------------------------------------------------------------------
    // 3.遍历数组
    // 3.1 区间遍历
    for i in 0..<strNames.count {
        print(strNames[i])
    }
    
    
    // 3.2 for in遍历
    for item in strNames {
        print(item)
    }
    
    // 3.3 指定区间遍历
    for i in 0..<2 {
        print(strNames[i])
    }
    
    for item in strNames[0..<2] {
        print(item)
    }
    

    数组的合并

    • 数组的合并
      • 注意:只有相同类型的数组才能合并
    // ------------------------------------------------------------------------
    // 方法一: 定义一个可变数组将两个数组的元素分别取出来存到新的可变数组(不常用)
    /*
    let name4 = ["liwx", "lww"]
    let name5 = ["laa", "lbb"];
    var tempNames = [String]()
    for item in name4 {
        tempNames.append(item)
    }
    
    for item in name5 {
        tempNames.append(item)
    }
    tempNames
    */
    
    
    // ------------------------------------------------------------------------
    // 方法二: 定义一个可变数组将两个数组的元素分别取出来存到新的可变数组(不常用)
    /*
    let name4 = ["liwx", "lww"]
    var name5 = ["laa", "lbb"];
    
    for name in name4 {
        name5.insert(name, atIndex: 0)
    }
    // 拼接结果["lww", "liwx", "laa", "lbb"]
    */
    
    /*
    let name4 = ["liwx", "lww"]
    var name5 = ["laa", "lbb"];
    
    for i in 0..<name4.count {
        name5.insert(name4[i], atIndex: i)
    }
    // 拼接结果["liwx", "lww", "laa", "lbb"]
    */
    
    // ------------------------------------------------------------------------
    // 方法三: 使用+号拼接(最常用,推荐)
    let name4 = ["liwx", "lww"]
    let name5 = ["laa", "lbb"];
    let name6 = name4 + name5
    
    // 不建议一个数组中存放多种类型的数据
    var array3 = [2, 3, "liwx"]
    var array4 = ["lll", 23]
    array3 + array4
    

    相关文章

      网友评论

          本文标题:07.Swift 数组

          本文链接:https://www.haomeiwen.com/subject/ivmskttx.html