iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。

源码指引:github源码指引_初级代码游戏的博客-CSDN博客

C#是我多年以来的业余爱好,新搞的东西能用C#的就用C#了。


系列入口:iOS开发 Swift 速记1:变量和基本数据类型-CSDN博客

Array 数组,可重复

Set 不可重复,无序

Dictionary 不可重复,键值对,无序

Set和Dictionary估计是使用Hash实现的。

目录

一、Array

二、Set

三、Dictionary


一、Array

构造 类型或初值 Array<类型>(初值)

  • 数组可以直接相加

count

isEmpty

2...5 区间

first last 注意是?

append insert remove removeFirst removeLast removeSubrange replaceSubrange removeAll

contains 是否包含某个元素

indices 返回Range,下标范围[startIndex,endIndex)

min max 不需要预先排序

sorted 排序,返回排序结果,不改变自身顺序

二、Set

无序集合 可以用数组构造

可按下标操作 startIndex index() 只能向后移动

count

isEmpty

contains

min max

insert remove removeFirst removeAll

intersection(b) 交集 共同部分

symmetricDifference(b) 交集的补集 并集去掉共同部分

union(b) 并集

subtracting(b) 补集 去掉b也有的部分

== 全相同

isSubset 子集

isSuperset 超集

isStrictSubset isStrictSuperset 真子集 真超集

sorted 排序,返回值是数组,不改变自身

三、Dictionary

声明 var dict:type1:type2 var dict:Dictionary<type1,type2>

初始化 = : , :

\[\] = 插入或更新

updateValue() 不存在返回nil

removeValue

removeAll

sorted 排序,返回值是数组,不改变自身


(这里是文档结束)

相关推荐
峥嵘life3 小时前
Android WiFi 热点 Channel 信道 和 Frequency 频率 转换总结
android·开发语言
wgego4 小时前
基础的反序列化一些总结(php和java)
java·开发语言·笔记
冻柠檬飞冰走茶4 小时前
PTA基础编程题目集 7-8超速判断(C++语言实现)
开发语言·数据结构·c++·算法
山峰哥5 小时前
数据库工程与SQL调优:从慢查询到秒级响应的实战之路
java·开发语言·数据库·sql·深度优先·启发式算法
wangjialelele5 小时前
Selenium4 + Java Web自动化测试入门指南:从环境搭建到常用操作详解
java·开发语言·前端·测试工具·自动化
Awna5 小时前
Golang 大小写可见性规范
开发语言·后端·golang
AI科技星6 小时前
曲率‑挠率与 $\boldsymbol{\omega/c}$ 的关系、精算验证及其物理意义
c语言·开发语言·线性代数·算法·决策树·机器学习·ai科技星
鹿角片ljp7 小时前
Java框架篇:Spring + SpringMVC + SpringBoot + MyBatis深度复习
java·开发语言
xlxxy_8 小时前
外部系统调用SAP接口遇到的一些报错
开发语言·数据库·sap·abap