首页 > 其他分享 >iOS Swift 集合类型 (Array、Set 和 Dictionary ) 与 元组

iOS Swift 集合类型 (Array、Set 和 Dictionary ) 与 元组

时间:2024-10-14 17:43:09浏览次数:6  
标签:Set Dictionary iOS 元组 类型 集合 Array

语言提供数组(Array)、集合(Set)和字典(Dictionary)三种基本的集合类型用来存储集合数据。

  1. 数组是有序数据的集。
  2. 集合是无序无重复数据的集。
  3. 字典是无序的键值对的集。
  • Swift 中的数组、集合和字典必须明确其中保存的键和值类型,这样就可以避免插入一个错误数据类型的值。同理,对于获取到的值你也可以放心,其数据类型是确定的
  • Swift 中的集合类型是值类型,赋值或传递时会创建副本,确保修改副本不会影响原始数据。
  • 元组 不是集合类型,元组(Tuple):是一组不同类型或相同类型的有序值的组合,通常用于临时组合多个值,或者作为函数的返回值。
  • 集合(Collection):通常指像数组(Array)字典(Dictionary)、**集合(Set)**这样的一组相同类型的值。集合中的元素通常是相同类型的,且有特定的功能,如排序、查找等。

组(Tuple)、数组(Array)、字典(Dictionary)、集合(Set)之间的区别总结表格 

类型是否有序是否允许重复(元素)是否按键值对存储可变性(增删)访问方式
元组 有序 允许 不可变(固定结构) 按元素位置
数组 有序 允许 可变/不可变 let/var 按索引访问
字典 无序 不允许(键唯一) 可变/不可变 let/var 按键访问
集合 无序 不允许 可变/不可变 let/var 无序遍历

元组的不可变性体现举例:

var person = ("Alice", 30)   // 一个元组,包含姓名和年龄

person.1 = 31                // 可以修改某个元素的值
// person.2 = "Engineer"      // 错误:无法添加新的元素
// person = ("Alice", 30, "Engineer") // 错误:无法改变元组的结构

 

标签:Set,Dictionary,iOS,元组,类型,集合,Array
From: https://www.cnblogs.com/someonelikeyou/p/18464689

相关文章

  • 【题解】Solution Set - NOIP2024集训Day50 图的连通性相关
    【题解】SolutionSet-NOIP2024集训Day50图的连通性相关https://www.becoder.com.cn/contest/5618「JSOI2012」越狱老虎桥简述题意:题目大意:给定一张图,A先添加\(1\)条边,B再删去一条边使得图不连通,A要最大化删除边的权值,B要最小化删除边的权值,问最终的权值是多少。......
  • PHP unset() 函数的作用
    PHP中的unset()函数用于销毁指定的变量。具体来说,它会解除变量名与其数据之间的关联,从而释放该变量所占用的内存。不过需要注意的是,unset()并不是删除变量的内容,而是取消对变量名的引用。如果变量是数组中的某个元素或者对象中的某个属性,unset()也会将其从数组或对象中移......
  • codeforces round 977 (div.2) C2(访问set的第一个元素,观察数据规律-出现次序,用set记
    解题历程:我首先想到的是等效法,每一次操作可以等效为每次将第一个人抽出放入一组,后面的人往前移,而该组的人就是可以任意放置的人,当b中后面再出现与前一个相同的人时,就不进行操作,当b中出现不同的人时,就看看这组中有没有这个人,有的话就下一个循环,没有的话就看看这个新的人是否按a中......
  • (IOS)VMware虚拟机上安装win10系统(超详细)
    简介虚拟机是一种软件实现的计算机系统,可以在现有的操作系统平台上运行一个或多个虚拟的操作系统。它通过在主机操作系统上创建一个虚拟的硬件平台,并在其上运行一个完整的操作系统,来模拟一个真实的物理计算机。虚拟机可以提供一种隔离的环境,使得不同的操作系统和应用程序可以......
  • Java中的Iterator接口,以及HashSet和TreeSet
    在Java编程中,`Iterator`接口是一个非常重要的概念,它为我们提供了一种统一且方便的方式来遍历集合(如`List`、`Set`、`Map`等数据结构中的元素,不过遍历`Map`时稍显特殊,通常是遍历其键值对的集合视图)。##一、Iterator接口的定义与方法`Iterator`接口位于`java.util`包中,它定义......
  • day07=集合进阶(Set、Map集合)
    day07——集合进阶(Set、Map集合)一、Set系列集合1.1认识Set集合的特点Set集合是属于Collection体系下的另一个分支,它的特点如下图所示下面我们用代码简单演示一下,每一种Set集合的特点。//Set<Integer>set=newHashSet<>(); //无序、无索引、不重复//Set<Integer>set=......
  • 部分品牌电脑进入BIOS方法
    今天来分享一下,部分品牌电脑如何进入bios的方法戴尔(Dell):F2键惠普(HP):F2键或F10键联想(Lenovo):F2键或Fn+F2键(部分机型)宏碁(Acer):F2键华硕(ASUS):F2键微星(MSI):Delete键苹果(Apple):搭载Intel芯片的Mac:Option键搭载AppleSilicon芯片的Mac:长按Command+Option+R进入BIOS的通用步骤关闭电......
  • ab压测的选项、示例和主要关注的指标意义以及ab压测问题Connection reset by peer (10
    一、ab压测的选项、示例和主要关注的指标意义1.ab压测的一些选项-nrequests    全部请求数-cconcurrency 并发数-ttimelimit   最传等待回应时间-ppostfile    POST数据文件-Tcontent-typePOSTContent-type-vverbosity   Howmuchtroubl......
  • 利用Vue3的axios+Python的flask实现前后端交互功能
    1功能实现1.1功能在网页中输入两个数字后,点击计算按钮在线计算(注意不是在浏览器端)获得两数之和。1.2思路前端使用vue3的axios向服务器发送post请求,利用flask框架使python服务器返回计算后的数值,赋给前端的变量,最终在浏览器上显示。2前端部分:2.1html<div><inputv-mod......
  • axios二次封装
    axios二次封装有利于减少代码量,更好的管理api①在src目录下创建api目录。api目录用于存放今后页面不同模块的接口信息。 具体的接口含义如下:②将来要实现的效果如下:importaxiosRequestfrom"./utils/request/http";axiosRequest({path:"product",//使用的api模块......