美文网首页
05-Swift 数组的使用

05-Swift 数组的使用

作者: magic_pill | 来源:发表于2016-11-17 15:41 被阅读21次

    一、数组的定义

    //不可变数组
    let a = [1,2,3]
    
    //可变数组
    var b:[Any] = ["a","b","c"]
    b[1] = 3
    b   //["a", 3, "c"]
    
    //  Array<Any> 等效于 [Any]
    var c:Array<Any> = [1,2,3,4,"a"]
    c[1] = "d"
    c   //[1, "d", 3, 4, "a"]
    
    var aaa = [String]()
    aaa.append("a")
    aaa.append("ccc")
    aaa  //["a","cc"]
    

    二、数组的基本操作

    • 增加元素
    // append
    var aa = [2,1,3,5]
    aa.append(4)
    aa  //[2, 1, 3, 5, 4]
    
    // insert
    aa.insert(6, at: 2)
    aa  //[2, 1, 6, 3, 5, 4]
    
    • 删除元素
    aa.remove(at: 1)
    aa  //[2, 6, 3, 5, 4]
    
    aa.popLast()    //弹出最后一个元素
    aa  //[2, 6, 3, 5]
    
    aa.removeLast()
    aa  //[2, 6, 3]
    
    //删除最后两个元素
    aa.removeLast(2)
    aa  //[2]
    
    • 改元素
    aa[0] = 3
    aa  //[3]
    
    • 查元素
    var bb = ["a","b","c","d","e","f","g"]
    bb[4]   //"e"
    bb[1...4]   //["b", "c", "d", "e"]
    
    bb.max()    //"g"
    bb.min()    //"a"
    

    三、数组的其它操作

    var cc = ["aa","bb","cc","dd"]
    
    • 求个数
    //个数
    cc.count    //4
    //容量
    cc.capacity    //容量:4
    
    cc.append("ee")
    cc.count    //5
    cc.capacity    //容量:8  (容量以原有容量的两倍增加)
    cc    //["aa","bb","cc","dd","ee"]
    
    • 遍历
    for i in 0..<cc.count{
        print(i)    //五次
    }
    
    for value in cc {
        print(value)
    }
    
    //设置遍历区间
    for value in cc[2...4]{
        print(value)    //cc/dd/ee
    }
    
    //遍历时取出下标
    for (key,value) in cc.enumerated(){
        print(key,value)
    }
    
    • 数组的合并
    //要合并的数组类型必须一致
    let dd1 = [1,2,3]
    let dd2 = [2,3,4,5]
    dd1 + dd2   //[1, 2, 3, 2, 3, 4, 5]
    
    let ee1 = ["aa","bb","cc"]
    let ee2 = ["cc","bb"]
    ee1 + ee2   //["aa", "bb", "cc", "cc", "bb"]
    
    let ff1:[Any] = [1,2,"f1"]
    let ff2:Array<Any> = [4,32,"f2"]
    ff1 + ff2   //[1, 2, "f1", 4, 32, "f2"]
    

    相关文章

      网友评论

          本文标题:05-Swift 数组的使用

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