8.数组

数组的介绍

  • 数组(Array)是一串有序的由相同类型元素构成的集合
  • 数组中的元素是有序的,可重复出现
  • Swift用Array表示数组,是一个泛型集合
  • 与OC数组的区别
    • Array是一个结构体,而不是一个类
    • 可以放普通类型

数组的初始化

  • 数组分成:可变数组和不可变数组
    • 使用let修饰的数组是不可变数组
    • 使用var修饰的数组是可变数组
// 定义一个可变数组,必须初始化才能使用
var array1 : [String] = [String]()

// 定义一个不可变数组
let array2 : [NSObject] = ["zhangsan", 18]
  • 在声明一个Array类型的时候可以使用下列的语句之一
var stuArray1:Array<String>
//语法糖
var stuArray2: [String]
  • 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的
// 定义时直接初始化
var array = ["zhangsan", "lisi", "wangwu"]

// 先定义,后初始化
var array : Array<String>
array = ["zhangsan", "lisi", "wangwu"]

对数组的基本操作

  • 获取长度
array.count
  • 判空
array.isEmpty
  • 添加数据
array.append("zhaoliu")
  • 插入元素
array.insert("haojian", at: 0)
  • 删除元素
array.removeFirst()
  • 修改元素
array[0] = "wangqi"
  • 取值
array[1]
array.first
  • 倒序
array.reverse()

数组的遍历

  • 遍历数组
for i in 0..<array.count {
    print(array[i])
}
  • for in方式
for item in array {
    print(item)
}
  • 设置遍历的区间
for item in array[0..<2] {
    print(item)
}
  • 遍历数组的同时获取下标值
let names = ["zhangsan", "lisi", "wangwu"]
for (index, name) in names.enumerated() {
    print(index)
    print(name)
}

数组的合并+

// 数组合并
// 注意:只有相同类型的数组才能合并
var array = ["zhangsan", "lisi", "wangwu"]
var array1 = ["zhaoliu", "wangqi"]
var array2 = array + array1;

//虽然不报错,但是不建议一个数组中存放多种类型的数据
var array3 : [Any]  = [2, 3.0, "zhangsan"]
var array4 : [Any]  = ["lisi", true]
var array5 : [Any]  = array3 + array4

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 37.Swift学习之高阶函数

    闭包是 Swift 中一个重要的知识点,不仅在开发中能够帮助解决很多问题(如逆向传值),而且在许多官方系统库方法中都能看到它的身影,尤其是在集合中提供了很多高阶...

    YungFan
  • 20.Swift学习之扩展

    扩展可以使已有的类型遵循一个或多个协议。在这种情况下,协议名的书写方式与类或结构体完全一样:

    YungFan
  • 5.元组

    YungFan
  • JavaScript之数组学习

    在JavaScript中,数组用关键字Array来声明。声明数组的同时还可以指定数组初始元素的大小,也就是数组的长度;下面代码定义了一个数组长度为6的数组; v...

    郑小超.
  • PHP开发过程的那些坑(三) ——PHParray_shift函数

    PHP开发过程的那些坑(三)——PHP array_shift函数 (原创内容,转载请注明来源,谢谢) 坑: 最近在自学数据结构,常常用PHP实现各种数据结构...

    用户1327360
  • 关于Go语言中数组的参数传递问题

    一个很微妙的一个问题。从下面的代码可以看出: 1、类型为“[5]int”的数组在作为参数时,其实作为值来传递的。 2、 类型为“[]int”的数组在作为参数...

    李海彬
  • JavaScript数组操作总结

    一、 数组方法: 1、 数组的创建 var array = []; var array = new Array(); var array = new Arra...

    前朝楚水
  • java选择排序(最精简代码)

    public class SelectionSort { public void selectionSort(int[] array) { int tem...

    闵开慧
  • NumPy中的维度Axis

    NumPy中的维度是一个很重要的概念,很多函数的参数都需要给定维度Axis,如何直观的理解维度呢?我们首先以二维数组为例进行说明,然后推广到多维数组。

    卡尔曼和玻尔兹曼谁曼
  • php将二维数组按日期(支持Ymd和Ynj格式日期)排序 转

    // 原始数组 $array = [         [             'date'=>'2019-2-18',         ],   ...

    双面人

扫码关注云+社区

领取腾讯云代金券