zoukankan      html  css  js  c++  java
  • 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)")
            }
  • 相关阅读:
    Serialization and deserialization are bottlenecks in parallel and distributed computing, especially in machine learning applications with large objects and large quantities of data.
    Introduction to the Standard Directory Layout
    import 原理 及 导入 自定义、第三方 包
    403 'Forbidden'
    https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
    These interactions can be expressed as complicated, large scale graphs. Mining data requires a distributed data processing engine
    mysqldump --flush-logs
    mysql dump 参数
    mysql dump 参数
    如果是在有master上开启了该参数,记得在slave端也要开启这个参数(salve需要stop后再重新start),否则在master上创建函数会导致replaction中断。
  • 原文地址:https://www.cnblogs.com/liYongJun0526/p/7511382.html
Copyright © 2011-2022 走看看