【Swift】学习笔记(四)——设置(Collection)

【Swift】学习笔记(四)——设置(Collection)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

Swift和其他语言也提供了两种类型的集合:数组和字典


数组:数组用来按顺序存储同样类型的数据,swift规定它是类型安全的,每个数组都有自己的类型也就是其它语言所说的泛型。

创建数组:

1、var aa:[String] = [“aa”,”bb”,”cc”] 或者 var aa = [“aa”,”bb”,”cc”]

2、var aa = [String]()  //空数组  aa.append(“aa”) //向aa数组添加一个成员。aa=[]  //清空数组

3、var a = [Double](count:5,repeatedValue:0.0)  //创建一个5个大小的数组,而且都赋值为0.0   ,因为swift类型判断的特性。还能够不用指定类型。var a = Array(count:5,repeatedValue:0.0)只是不推荐。

4、var a = [Double](count:5,repeatedValue:0.0);  var b = [Double](count:5,repeatedValue:5.5); var c = a + b; //将两个数组项合并到一个数组中去,类型会从相加的数组中判断出来。

数组的訪问和改动:

数组的操作莫过于加项,改动项,删除项。遍历项等操作。

var aa = [String]()

推断数组是否为空。aa.isEmpty() 

加到数组末尾:aa.append(“test”)  或者 aa += [“test1”]  或者  aa+=[“test2″,”test3”]

插入到某一个位置:aa.insert(“test2”,atIndex:0)


获取某一项:下标  var tt = aa[0]


改动: aa[0] = “new test” 还能够批量改  aa[4…6] = [“a”,”b”]


删除项:var removeItem = aa.removeAtIndex(0) 被移除的项会返回出来。

删除最后一个var removeItem = aa.removeLast()


遍历能够用for in循环。这个到for循环的时候再嘻嘻讨论。从上面append方法就能够看出数组是可变的。当然定义为let类型就不可变了。。

。


字典,也就是键值对。

无序存储  Dictionary<KeyType, ValueType>   KeyType的唯一限制就是可哈希的,这样能够保证它是独一无二的。全部的 Swift 基本类型(比如String,Int, Double和Bool)都是默认可哈希的


创建:1、通过字面量创建 var aa:Dictionary<String, String> = [“a”:”aaa”,”b”:”bbb”]   当然也可省略dictionary 写成 var aa =  [“a”:”aaa”,”b”:”bbb”] 

2、创建一个空字典 var aa =  Dictionary<String, String> ()  清空数据 aa = [:]   //比数组多了一个:号


读取:

1、字典大小  aa.count  count属性

2、下标获取  var tmp = aa[“a”]


改动:

1、下标改动 aa[“a”] = “abc”   //a这个key存在则改动,不存在则新增。

非常智能

2、方法改动   var oldValue = aa.updateValue(“bbccdd”,forKey:”b”)


移除

1、用nil进行移除: aa[“a”] = nil 就把key为a的移除了

2、方法移除: var oldValue = aa.removeForKey(“a”)  a这个key和存在的数据被移除了


遍历也是用for in循环。在for循环中讨论.


swift不像oc那样只在C语言的基础上外包一层面向对象,它真的很灵活也和其它的编程语言语法很相似。要使用它easy的。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117490.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 2022Android SDK下载与安装

    2022Android SDK下载与安装一、下载sdk:https://www.androiddevtools.cn找个合适的位置解压双击“SDKManager.exe”,启动SDKManager安装工具我们可以通过有AndroidSDK的国内镜像服务器来下载安装,这里推荐几个:1、中科院开源协会镜像站地址:IPV4/IPV6:http://mirrors.opencas.ac.cn端口:802、北京化工大学镜像服务器地址:IPv4:http://ubuntu.buct.edu.cn/端口:80IPv

    2022年7月19日
  • 华为模拟器eNSP下载与安装教程(面向小白)「建议收藏」

    华为模拟器eNSP下载与安装教程(面向小白)「建议收藏」本人是电脑操作系统是win10企业版,不同操作系统,可能会有所不同。目前许多人对学习华为的网络设备十分感兴趣,但安装华为模拟器eNSP是必不可少的。下载地址:链接:https://pan.baidu.com/s/1XqSfHetChnmiaNtHpjS1oA提取码:4455PS:可能部分电脑在安装之前需要提前关闭防火墙1.打开下载好的安装包选择中文(简体),直接按确定即可2.进入安装向导3.点击“我愿意接受此协议”后,点击下一步4.选择合适的安装路径后,.

    2022年10月14日
  • java二维数组行列互换_java 二维数组行列互换[通俗易懂]

    java二维数组行列互换_java 二维数组行列互换[通俗易懂]代码需求:对等行等列的二维数组进行行列的互换分析过程主对角线是保持不变行列互换即角标互换:[0][1]=>[1][0]循环次数:外层循环行,内层循环每一行的列示意图代码实现publicclassArrayReverse{publicstaticvoidmain(String[]args){intarry[][]=newint[][]{{1,2,3},{4,5…

    2022年5月22日
  • IIS 安装失败之解决方案[通俗易懂]

    IIS 安装失败之解决方案[通俗易懂]首先删除IIS后,再开始下面的操作:1.运行:regsvr32%windir%/system32/vbscript.dll(其实这一步也可以省,确保万一,还是执行吧)2.运行:msdtc-resetlog3.重新安装IIS…

    2022年6月4日
  • python(62):保留两位小数[通俗易懂]

    python(62):保留两位小数[通俗易懂]转载:https://blog.csdn.net/jiandanjinxin/article/details/77752297在C/C++语言对于整形数执行除法会进行地板除(舍去小数部分)。例如

    2022年7月5日
  • collocative meaning_分割原理案例

    collocative meaning_分割原理案例进入2017年之后,深度学习计算机视觉领域有了新的发展。在以往的研究中,深度神经网络往往是单任务的,比如图像分类(AlexNet,VGG16等等),图像分割(以FCN为代表的一众论文),目标检测(R-CNN,FastR-CNN和FatserR-CNN,以及后来的YOLO和SSD,目标检测领域已经实现多任务)。而在最新的研究中,上述的任务往往被集成了,通过一个框架完成,代表就是实例分割。先来看

    2022年8月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号