学习Swift -- 数组(Array) - 持续更新

集合类型--数组

Array是Swift中的一种集合类型:数组,数组是使用有序列表储存同一类型的多个值,与OC的NSArray的最大不同是,Swift的数组是值类型,OC的数组是引用类型

声明数组的方法

// 如果声明可变数组 就设置为变量
var someMutableArray = [Int]()  // 声明了空数组 类型为Int

// 相反声明不可变数组就设置为常量
let someArray = Array(count: 5, repeatedValue: 0.03)    // 声明了一个不可变数组,类型自定推断为double类型,包含5个元素,它们的值都是0.03

// 直接设置元素的声明方法
let someInt = [3,5,8,10,91]

// 声明了一个 可以包含任何类型的数组
var array = [Any]()

访问数组中的元素或其他属性

let someInt = [3,5,8,10,91]

someInt.first   // 取到数组的第一个元素,如果数组为空返回 nil
someInt.last    // 取到数组的最后一个元素,如果数组为空返回 nil
someInt.count   // 获得数组中的元素个数
someInt.isEmpty // 判断数组是否为空 空返回true
someInt[4]      // 通过下标脚本访问第4个元素的值,注意下标是从0开始计算
let subInts = someInt[2...4]  // 通过一个范围访问元素,返回一个数组

为数组添加新元素

var someMutableArray = [Int]()  // 声明了空数组 类型为Int
someMutableArray.append(5)      // 添加一个元素 5
someMutableArray += [11, 0]     // 拼接一个数组
someMutableArray.insert(3, atIndex: 1)  // 在指定的下标插入一个值

删除数组的元素

var someMutableArray = [5, 10, 88, 55, 69, 73, 411]
someMutableArray.removeLast()   // 删除最后一个元素
someMutableArray.removeFirst()  // 删除第一个元素
someMutableArray.removeRange(0...2) // 删除一个范围内的元素
someMutableArray.removeAtIndex(0)   // 删除指定位置的元素
someMutableArray.removeAll()        // 删除所有元素

修改数组中的元素

var someInt = [12, 55, 86, 49, 31, 12, 558]
someInt[5] = 111            // 通过下标脚本修改
someInt[0...2] = [1, 2, 3]  // 通过一个范围修改

常用的遍历方法

var someInt = [12, 55, 86, 49, 31, 12, 558]
for item in someInt {
    print(item) // item会自动推断类型
}

for (index, value) in someInt.enumerate() {
    // 通过一个元组遍历,index是下标, value是值
    print(index, value)
}
时间: 2024-12-15 01:48:47

学习Swift -- 数组(Array) - 持续更新的相关文章

cocos2d-x 学习资源整理(持续更新...)

生活像一把无情刻刀,改变了我们模样,曾经我以为会亘古不变的东西,突然在一瞬间失去了信念... 如果你改变不了生活中患得患失的心情,那就试着让自己变得强大一点,因为能做到不以物喜不以己悲都是建立在强大的基础上面的. so,加油吧,少年. ================================================================ 一不小心又废话了. 学习cocos2d-x也有一段时间了,直到现在仍然认为自己是个新手(呵呵,说的好像我不是新手一样.) 现在把自己这

iOS 开发学习资料整理(持续更新)

"如果说我看得比别人远些,那是因为我站在巨人们的肩膀上." ---牛顿 iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac-study/84557 iOS 学习资料整理 https://segmentfault.com/a/1190000002473595#articleHeader16 iOS.mac开源项目及库 https://github.com/Tim9Liu9/TimLiu-iOS Swift语言 http

Javascript 学习之数组 Array

数组在Javascript中占有很重要的地位.任何控件开发离不开数组的使用. 构造函数 new Array( ) new Array(size) new Array(element0, element1, ..., elementn) 参数 size 期望的数组元素个数.返回的数组,1ength域将被设为size的值. element0, ... elementn 两个或多个值的参数列表.当使用这些参数来调用构造函数Array()时,新创建的数组的元素就会被初始化为这些值,它的length域也会

深度学习算法索引(持续更新)

https://zhuanlan.zhihu.com/p/26004118 机器学习最近几年发展如同野兽出笼,网上的资料铺天盖地.学习之余建立一个索引,把最有潜力(不求最全)的机器学习算法.最好的教程.贴近工业界最前沿的开源代码收录其中.个人能力有限,希望知友指正和补充. Model篇 1. Reinforcement Learning 领军人物:david silver 教程 2015年david silver的UCL Course on RL:Teaching david silver的Tu

cocos2d-x学习资源汇总(持续更新。。。)

引用地址:http://www.cnblogs.com/zilongshanren/archive/2012/02/17/2356516.html 我之前一直学习c++的,第一次接触cocos2d是oc版的,虽然很好用,但是,我还是对c++情有独钟,再加之cocos2d-x由自己人主导,更应该拥抱她,热爱她,把她发扬光大.之后,我将会全面投入cocos2d-x的怀抱,欢迎大家和我交流,一起学习. 补充一点:我选择cocos2d-x绝不是简单地支持国产这么简单,cocos2d-x真的很强大.关于游

学习golang的历程——持续更新

学习一门语言首先hello world 1,首先建立一个目录,新建一个hello.go的文件 package main import ( "fmt" ) func main() { fmt.Println("hello world") } 2,go run hello.go [email protected] study % go run hello.go hello world 上面我们就完成了我们的基础使命.下面我们正式开始入门 在正式进入写代码之前,推荐大家使

C++学习之STL(持续更新)

STL 标准模板库 标准模板库(Standard Template Library,缩写:STL)是一个C++软件库,  包括5个组件,分别是:算法.容器.迭代器,函数和适配器. 一:容器之初始化: 1.直接初始化一个空的容器: 2.用一个容器去初始化另一个容器: 3.指定容器的初始大小: 4.指定容器的初始大小和初始值: 5.用一对迭代器范围去初始化容器. 示例代码如下: 1 #include <iostream> 2 #include <string> 3 #include &

暑期英语学习(词组积累)【持续更新中】

说白了,写这文章纯粹是为了下个学期六级准备的,过了一个大学一年,英语啥的都忘记的差不多了,能做到的只有先把高中英语词组捡起来,然后认真准备考试,接下来就是准备考研了,俗话说ACM+英语一起抓,考试ACM都不误(emmm,本人xjb扯淡的说法,如有雷同,纯属巧合) 下面给出我每天的英语学习笔记贴一下: Day1: abandon sth./doing sth.放弃某事/做某事 abandon onself to sth.完全屈从于(某种感情或冲动) with abandon 放肆地 Why is

通过JQuery源码学习JS使用技巧——持续更新&#183;&#183;&#183;&#183;&#183;&#183;(7月31日)

欢迎转载,请注明出处!https://gii16.github.io/javascript/2016/07/29/learnfromjquery.html 欢迎交流,可去笔者博客园中评论:http://www.cnblogs.com/Gii16/p/5721020.html 笔者的老板是做文本挖掘研究的,所以研究JS这方面可以算是笔者的一个爱好吧.因为项目压力比较重,可能更新的会比较慢,还请各位看官海涵. 博客中研究的Jquery为3.1.0版本,下载自https://jquery.com/.