文档章节

[swift]-数组的使用

XJDomain
 XJDomain
发布于 2016/07/31 02:49
字数 641
阅读 68
收藏 0
点赞 0
评论 0

1----数组:

> 1:是一串(有序的)(有相同类型元素)(集合)

> 2:元素是(有序的),但是可以(重复出现)

> 3:swift中数组的类型是Array类型,它是一个范型集合

 

2---两种数组:不可变数组和可变数组

> 1:不可变数组:使用let修饰的数组是不可变数组

> 2:可变数组:使用var修饰的数组是可变数组

 

3---两种数组的初始化:数组必须初始化才能使用

        01-不可变数组的初始化三种方式:

        > 1:全部存放的是字符串类型

let arr3 = ["name","age","height"]

        > 2:全部存放的是字符串类型

let arr2 : [String] = ["name","age","height"]

        > 3:全部存放的是字符串类型

let arr1 : Array<String> = ["name" , "age" , "height"]

        额外补充:存放的是多种数据类型的元素的数组

let arr4 : [AnyObject] = ["name",18,1.88]
let arr5 = ["name",18,1.88]

 

        02-可变数组的初始化两种方式

        方式1:   前提均有类型

var arrM1 : [String] = Array()
var arrM01 : [AnyObject] = Array()

        方式2:   前提均有类型  

var arrM2 = [String]()
var arrM02 = [AnyObject]()

          提醒:没有类型会报错

//var testAarray2 = Array()    错误写法❌

        额外补充:定义可变数组的时候要么定义时候并且初始化;要么先定义、后初始化《但是定义的时候必须要有元素类型》

var testArray : [String] = ["1","2","3","4","5"]
var testArray1 = ["1","2","3","4","5"]

 

4---数组的基本操作:增、删、改、查

增:

testArray.append("6")
testArray.append("7")

删:

// 删
testArray.removeLast()   // 删除最后一个元素
testArray.removeAtIndex(0)
testArray.removeFirst()  // 删除第一个元素

print(testArray)
testArray.removeLast(3)   //删除后面三个元素
print(testArray)
testArray.removeFirst(1)

print(testArray1)
testArray1.removeFirst(3) //删除前面三个元素

改:

print(testArray1)
testArray1[0] = "1"
print(testArray1)

// 获取数组中的元素个数
let count = testArray1.count

// 获取数组中的元素
let arrStr = testArray1[0]

查:

// 遍历方式1: 下标遍历
for i in 0..<testArray1.count {
    print(testArray1[i])
}

// 遍历方式2: 元素遍历
for item in testArray1 {
    print(item)
}

// 遍历方式3: 区间遍历
for item in testArray1[0..<1] {
    print(item)
}

 

5---数组的合并

只有相同类型的数组才能合并相加

// 注意:只有相同的类型数组才能合并
let arr01 = ["1","2"]
let arr02 = ["01","02"]
let arr03 = arr01 + arr02

不是相同类型的数组不能合并相加

// 不同类型不能相加
var arr04 : [AnyObject] = ["1","1"]
let arr05 = [4,3]
//let arr06 = arr04 + arr05  ❌写法
// 解决办法是:
for item in arr05 {
    arr04.append(item)
}
arr04
print(arr04)

 

意见反馈邮件:1415429879@qq.com

欢迎你们的阅读和赞赏、谢谢!

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
XJDomain
粉丝 15
博文 112
码字总数 44060
作品 0
嘉定
高级程序员
07-Swift中的数组

数组 1 数组的介绍 2 数组的初始化 数组的初始化 在声明一个Array类型的时候可以使用下列的语句之一 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的 3 对数组的...

不孤独的美食家 ⋅ 2016/08/06 ⋅ 0

swift语法学习

变量和常量 变量,可以修改的 常量,一经定义不能修改 在swift开发中,通常先定义常量,只有必须修改的时候,再改成 注意点: swift是一个对变量类型要求及其严格的语言 任何数据类型之间,都...

冷漠叻荭颜 ⋅ 2015/05/10 ⋅ 1

Swift4.0基础知识回顾

简单介绍一下Swift Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量更多了解Swift可以去《The...

博行天下 ⋅ 2017/12/06 ⋅ 0

Swift 4.0 基础学习总结(一)

Swift简介 作者:Chris Lattner Swift 2010年7月开始设计,1年时间完成基本架构,经历4年开发期于WWDC 2014 苹果2014年开发者大会发布,用于撰写OS X和iOS应用程序。 特点: 语法简单,代码简...

xx_cc ⋅ 2017/11/20 ⋅ 0

Swift - 数组、字典

一、Swift数组 Swift数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。 Swift数组会强制检测元素的类型,如果类型不同则会报错,Swift数组应该遵循像Arr...

Albert_Lee ⋅ 2017/11/20 ⋅ 0

从 JSON 到 Model: 协议默认方法让生活更简单

背景 在 从 API 生成 Model 代码开源脚本中生成的模型代码中, 我们默认生成了 方法.假设就是如下的 Model 我们经常需要得到的是 一个 数组. 完善之路 也许我们会写如下的方法: 上面的代码,对...

李海珍 ⋅ 2016/12/25 ⋅ 0

自定义选项卡实战swift(内附源码且精讲知识点)

App开发本质上是一种对人性的把握,我们在项目开发过程中经常需要自定义很多精美的控件,以此来获得更好的用户体验。 因此,掌握自定义控件是移动应用开发必备的一项技能。本篇文章我们就来快...

充电实践 ⋅ 05/26 ⋅ 0

swift官方推荐翻译文档之集合类型

Swift 语言提供、和三种基本的集合类型用来存储集合数据。数组(Arrays)是有序数据的集。集合(Sets)是无序无重复数据的集。字典(Dictionaries)是无序的键值对的集。 Swift 语言中的、和...

哪一种黑 ⋅ 2016/03/10 ⋅ 0

Swift编程高级教程

常量与变量 常量和变量是某个特定类型的值的名字,如果在程序运行时值不能被修改的是一个常量,反之是一个变量。 常量和变量的声明 Swift中的常量和变量在使用前必须先声明。其中let关键字声...

xiahuawuyu ⋅ 2016/01/11 ⋅ 0

Swift中基本数据类型与NSData转换

Swift中基本数据类型与NSData转换 1.1. big-endian and little-endian 1.2. 基础数据与NSData的转换 1.3. 总结 Swift中基本数据类型与NSData转换 最近由于程序的需要,要与JAVA的服务端进行S...

hejunbinlan ⋅ 2016/07/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部