数组的使用(1)

数组的使用(1)

创建数组

  • 字面量创建
      可以使用数组字面量来初始化一个数组,它是一种以数组集合来写一个或者多个值的简写方式。数组字面量写做一系列的值,用逗号分隔,用方括号括起来。

      let array = [1,2,3,4]
    
  • 字面量创建空数组
       创建空数组的时候必须携带类型信息。

    let array:[Int] = [];
    let array2:[String] = [];
    
    let array3 = []; // 报错 
    

       如果内容已经提供了类型信息,你可以通过空数组字面量来从新赋值

    var array = [1,2,3,4]
    print(array)
    // 打印: [1,2,3,4]
    
    array = []
    print(array)
    // 打印:[]
    
  • 初始化器
       使用初始化器有两种方式

    • [ 类型 ]()
    • Array<类型>()
      var myArray = [Sting]();
      var myArray = Array<String>()
    
  • 初始化器参数

    • init(repeating repeatedValue: Element, count: Int)
    • init(arrayLiteral elements: Element)
    • init<S>(_ elements: S) where S: Sequence, Self.Element == s.Element
    • init(from decoder: Decoder) throws

数组遍历和索引

  • 数组遍历

    • For-in
    • forEach方法
      • 无法使用break和continue 退出或者跳过循环
      • 使用return只能退出当前一次循环的执行体
    let numbers = [Int](0...7)
    for number in numbers {
      print(number)
    }
    // 打印: 0  1  2  3  4  5  6  7
    
    numbers.forEach {(num) in 
      if num == 3 {
        return
      }
      print(num)
    }
    // 打印: 0  1  2  4  5  6  7
    
    numbers.forEach {(num) in 
      if num == 3 {
        break
      }
      print(num)
    }
    // 报错
    
    • 同时得到索引和值 enumerated()

      let numbers = [Int](0...5)
      for (index, num) in numbers.enumerated() {
        print("index:(index), value:(num)")
      }
      
    • 使用Iterator遍历数组

      let numbers = [Int](2...7)
      var numIterator = numbers.makeIterator()
      while let num = numIterator.next() {
        print(num);
      }
      
      
  • 数组索引

    • startIndex : 返回第一个元素的位置, 对于数组来说, 永远都是0
    • endIndex : 返回最后一个元素索引 +1 的位置, 对于数组来说, 等同于count
    • indices : 获取数组的索引区间
    let numbers = [Int](0...5)
    print(numbers.startIndex)
    // 打印: 0
    print(numbers.endIndex)
    // 打印:6
    for i in numbers.indices {
      print(numbers[i])
    }
    // 打印 0  1  2  3  4  5  
    
原文地址:https://www.cnblogs.com/MingLL/p/14072329.html