【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • quota命令详细拓展使用方法,RHEL 7中quota命令搭载方法!磁盘容量配额!

    磁盘容量配额Linux系统的设计初衷就是让许多人一起使用并执行各自的任务,从而成为多用户、多任务的操作系统。但是,硬件资源是固定且有限的,如果某些用户不断地在Linux系统上创建文件或者存放电影,硬盘空间总有一天会被占满。针对这种情况,root管理员就需要使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。可以使用quota命令进行磁盘容量配额管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。quota命令还有软限

    2022年4月7日
    212
  • JAVA float转int 如何取整_int型变量n转化成float

    JAVA float转int 如何取整_int型变量n转化成float网上巴巴的说了那么多,倒是给个结论啊.搜索半天,浪费一堆时间,不知道到底哪个说的对哪个说的错.直接自己写着看吧. floata1=2.42f; floata2=2.13f; floata3=2.89f; floata4=2.99f; floata5=2.35f; floata6=35.67f; floata7=9.8f; …

    2025年7月16日
    3
  • pycharm怎么配置python环境anaconda_pycharm环境变量配置Anaconda

    pycharm怎么配置python环境anaconda_pycharm环境变量配置AnacondaPyCharm是一款很好用很流行的python编辑器。Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。Anaconda通过管理工具包、开发环境、Python版本,大大简化了你的工作流程。不仅可以方便地安装、更新、卸载工具包,而且安装时能自动安装相应的依赖包,同时还能使用不同的虚拟环境隔离不同要求的项目。anaconda自带集成开发…

    2022年8月25日
    17
  • CentOs6.5升级内核到3.0+[通俗易懂]

    CentOs6.5升级内核到3.0+[通俗易懂]1、查看内核版本 命令: uname -a 2、导入key 命令: rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 如果报SSL错误, 则需要更新网络安全服务 yum update nss3、安装elrepo的yum源命令:rpm -U…

    2022年6月13日
    28
  • Java面试之 OOAD & UML

    Java面试之 OOAD & UMLJava面试之 OOAD & UML

    2022年4月22日
    37
  • Visifire图表控件的使用「建议收藏」

    Visifire图表控件的使用「建议收藏」1.在实际项目开展中,往往会牵扯到需要绘制图表的情况。而Visifire是一个比较美观大方的第三方图表控件,本文会讲述如何初步使用Visifire控件。首先我们需要从Visifire的官方网站下载:http://www.visifire.com/,新建一个项目,引入SLVisifire.Charts.dll。在MainPage.xaml.cs代码中添加代码:usingVisifire.Charts;准备工作做好了,此时我在这里直接编写了一个函数如下://////创建一个图表/////

    2022年7月21日
    16

发表回复

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

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