Swif Array

下面表格列出了数组的常用方法:

创建一个空数组

var someInts = [Int]() print("someInts is of type [Int] with \(someInts.count) items.") // 打印 "someInts is of type [Int] with 0 items."

someInts.append(3) // someInts 现在包含一个 Int 值 someInts = [] // someInts 现在是空数组,但是仍然是 [Int] 类型的。

创建一个带默认值的数组

var threeDoubles = [Double](count: 3, repeatedValue:0.0) // threeDoubles 是一种 [Double] 数组,等价于 [0.0, 0.0, 0.0]

通过两个数组相加创建一个数组

var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5) // anotherThreeDoubles 被推断为 [Double],等价于 [2.5, 2.5, 2.5] var sixDoubles = threeDoubles + anotherThreeDoubles // sixDoubles 被推断为 [Double],等价于 [0.0, 0.0, 0.0, 2.5, 2.5, 2.5]

访问和修改数组

var shoppingList = ["Eggs", "Milk"] print("The shopping list contains \(shoppingList.count) items.") // 输出 "The shopping list contains 2 items."(这个数组有2个项)

使用布尔值属性isEmpty作为检查count属性的值是否为 0

if shoppingList.isEmpty { print("The shopping list is empty.") } else { print("The shopping list is not empty.") } // 打印 "The shopping list is not empty.

使用append(_:)方法在数组后面添加新的数据项:

shoppingList.append("Flour")   // shoppingList 现在有3个数据项

使用加法赋值运算符(+=)也可以直接在数组后面添加一个或多个拥有相同类型的数据项:

shoppingList += ["Baking Powder"]   // shoppingList 现在有四项了 shoppingList += ["Chocolate Spread", "Cheese", "Butter"] // shoppingList 现在有七项了

可以直接使用下标语法来获取数组中的数据项

var firstItem = shoppingList[0]   // 第一项是 "Eggs"

也可以用下标来改变某个已有索引值对应的数据值:

shoppingList[0] = "Six eggs"  // 其中的第一项现在是 "Six eggs" 而不是 "Eggs"

利用下标来一次改变一系列数据值

shoppingList[4...6] = ["Bananas", "Apples"] // shoppingList 现在有6项

调用数组的insert(_:atIndex:)方法来在某个具体索引值之前添加数据项:

shoppingList.insert("Maple Syrup", atIndex: 0) // shoppingList 现在有7项

可以使用removeAtIndex(_:)方法来移除数组中的某一项

let mapleSyrup = shoppingList.removeAtIndex(0)

想把数组中的最后一项移除,可以使用removeLast()方法

let apples = shoppingList.removeLast()

数组的遍历

for item in shoppingList { print(item) }

如果我们同时需要每个数据项的值和索引值,可以使用enumerate()方法来进行数组遍历

for (index, value) in shoppingList.enumerate() { print("Item \(String(index + 1)): \(value)") } // Item 1: Six eggs // Item 2: Milk // Item 3: Flour // Item 4: Baking Powder // Item 5: Bananas

数组排序

vararray = [1,4,2,8,3,3,10,9] letsortedArray = array.sort(<) print(sortedArray) array.sortInPlace(>) print("原数组排序:", array)

oc  addObjectsFromArray 在swift中应用

var array = [1,2,3,4,5] let array1 = [6,7,8,9,10] array += array1 print(array);

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java进阶之路

Java8新特性实践

19400
来自专栏加米谷大数据

Scala语言:既存类型

Scala既存类型语法: ? 既存类型具有 T forSome {Q}的形式,Q 是一个类型声明的序列。设t1[tps1]>:L1<:U1,...,tn[tps...

38960
来自专栏大闲人柴毛毛

Java基础全面解析——Java语言基础

高级编程语言的组成:关键字、标识符、注释、常量与变量、语句、函数、数组,下面一一介绍各个组成元素。 a)  关键字 i.  定义:关键字是一些英文单词,但在ja...

32270
来自专栏猿人谷

C++ primer里的template用法

template 的用法     在程序设计当中经常会出现使用同种数据结构的不同实例的情况。例如:在一个程序中     可以使用多个队列、树、图等结构来组织数据...

23350
来自专栏软件开发 -- 分享 互助 成长

sizeof(结构体)的计算

摘要: 经常被计算结构体的sizeof给搞晕,于是找了个时间,静下心来,搞定它。 一、为什么结构体计算这么乱? 答案是字节对齐,计算机存储系统中以Byte为单位...

35890
来自专栏鸿的学习笔记

Python的数据结构整理

别名:maps, hashmaps, lookup tables, associative arrays

9940
来自专栏技术小黑屋

Java中的字符串常量池

Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String...

21520
来自专栏老九学堂

干货 | Java 中不得不知的异常和处理详解

简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用...

42070
来自专栏公众号_薛勤的博客

一文看透Java8新特性:lambda表达式和Stream API

借用引言中的示例,在调用new Thread的含参构造方法时,我们通过匿名内部类的方式实现了Runnable对象,但其实有用的代码只有System.out.pr...

13510
来自专栏用户2442861的专栏

深入理解java异常处理机制

http://blog.csdn.net/hguisu/article/details/6155636

9320

扫码关注云+社区

领取腾讯云代金券