iOS开发Swift-集合类型

这篇具有很好参考价值的文章主要介绍了iOS开发Swift-集合类型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

集合基本类型:数组 Array (有序), 集合 Set (无序不重复), 字典 Dictionary (无序键值对)

1.数组 Arrays

(1)数组的表示

Array<Element>
[Element]

(2)创建空数组

var someInts: [Int] = []
someInts.count    //数组长度

(3)带值数组

var a = Array(repeating: 0.0, count:3)    //[0.0, 0.0, 0.0]
//repeating:初始值.count:长度

(4)两数组相加创建数组

var a = Array(reapeating: 0.0, count = 3)
var b = Array(reapeating: 2.5, count = 3)
var c = a + b    //[0.0, 0.0, 0.0, 2.5, 2.5, 2.5]

(5)字面量创造数组

var List: [String] = ["Eggs", "Milk"]   //或者
var List = ["Eggs", "Milk"]

(6)访问数组

List.count    //长度(数据量)
List.isEmpty   //是否为空
List[0]    //Eggs
var egg = List[0]     //将第一个数组的值赋给egg

(7)添加

List.append("Flour")   //append()方法添加
List += ["Powder"]    //直接添加一个数据
List += ["Spread", "Cheese", "Butter"]    //直接添加多个数据
List.insert("up", at: 0)    //在第一个数据前添加"up"

(8)修改

List[0] = "Six Eggs"
List[4...6] = ["Banana", "Apple"]

(9)删除

let a = List.remove(at: 0)  //索引值为0的项被移除。a被赋值被删除的那一项的值。后边的项自动往前补
let apple = List.removeLast()   //移除最后一项,a被赋值被删除的那一项的值

(10)遍历

for item in List{  
    print(item)
}

同时需要索引和值时:文章来源地址https://www.toymoban.com/news/detail-672626.html

for (index,value) in List.enumerated(){
    print( "Item \( String(index + 1) ): \(value)" )
}

2.集合 Sets

(1)集合的表示

Set<Element>

(2)构造一个集合

var letters = Set<Character>()      //或
letters.insert("a")
letters = []

(3)字面量创造集合

var fav: Set<String> = ["Rock", "Class", "Hip"]    //或
var fav: Set = ["Rock", "Class", "Hip"]

(4)访问

fav.count    //长度
fav.isEmpty    //是否为空
fav.contains("Funk")  //检查是否包含"Funk"值

(5)添加

fav.insert("Jazz")

(6)删除

fav.remove("Rock")   //如果有这个值则返回这个值,如果没有则返回nil
fav.removeAll()

(7)遍历

for g in fav{
    print("\(g)")
}
//返回一个有序数组
for g in fav.sorted(){
    print("\(g)")
}

(8)集合操作

let add: Set = [1, 3, 5, 7, 9]
let even: Set = [0, 2, 4, 6, 8]
let single: Set = [2, 3, 5, 7]
add.union(even).sorted()    //[]   交集
add.intersection(even).sorted()   //[1, 9]   add不在single中的值的集合
add.symmetricDifference(single).sorted()    //[1, 2, 9]   add和single不相交的值

(9)集合关系

let h: Set = ["🐕", "🐱"]
let f: Set = ["🐕", "🐱", "🐥"]
let c: Set = ["🐦"]
//==: 全部相同
h.isSubset(of: f)  //true  h是否被f全包
f.isSuperset(of: h)   //true   f是否全包h
f.isDisjoint(with: c)  //true  f,c是否无交集
//isStrictSubset(of: ) / isStrictSuperSet(of: )    A是否是B的子集或父集且AB不相等

3.字典 Dictionary

(1)字典的表示

Dictionary<Key, Value>  或者  [Key: Value]

(2)创建空字典

var names: [Int: String] = [ : ]   //或者
names[16] = "sixteen"
names = [ : ]

(3)字典字面量创建字典

var airports: [String: String] = ["a": "1", "b": "2"]   //或者
var airports = ["a": "1", "b": "2"]

(4)访问

airports.count     //数量
airports,isEmpty    //是否为空

(5)新增

airports["c"] = "3"

(6)修改

airports["c"] = "4"

(7)更新

airports.updateValue("6", forkey: "a")
//如果forkey存在值则修改,返回修改前的值。不存在则返回nil

(8)检索键对应的值。无值则返回nil

airName = airports["a"]

(9)移除键值对

airports["a"] = nil   //或者
airports.removeValue(forkey: "a")    //存在时返回被移除的值,不存在时返回nil

(10)遍历

//1
for (airCode, airName) in airports{
    print("\(airCode) : \(airName)")
}
//2
for airCode in airports.keys{
    print("code: \(airCode)")
}
//3
let airCodes = [String](airports.keys)
let airNames = [String](airports.values)

到了这里,关于iOS开发Swift-集合类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • iOS开发Swift-枚举

    枚举:一组相关的值定义了一个共同的类型,使你可以在代码中以类型安全的方式来使用这些值。 原始值:定义枚举时被预先填充的值。 (1)整数为原始值时,隐式赋值递增1。未设置原始值时,默认为0,之后递增1. (2)字符串为原始值,隐式赋值为枚举成员的名称。

    2024年02月11日
    浏览(33)
  • iOS开发Swift-函数

     (1)无参函数 (2)多参函数 (3)无返回值 (4)多重返回值 (5)可选元组返回类型(元组可以是nil) (6)隐式返回的函数 任一可以被写成一行return的函数,return(x) + for。 调用的时候: 方法名(for: 参数) (1)指定参数标签 (2)忽略参数标签 (3)默认参数值 (4)可变参数 一个可变参数可接受0个或多

    2024年02月11日
    浏览(35)
  • iOS开发Swift-基础部分

    系统可通过赋初始值进行自动推断。 平时可加可不加,同一行中有两句话必须加。 Int           UInt(最好不用) Double 64位 很大/高精度情况下使用 15位小数 Float 32位 对精度要求不高的情况下用 6位小数 十进制数   17 二进制 0b前缀 0b10001 八进制 0o前缀 0o21 十六进制 0x前缀

    2024年02月11日
    浏览(37)
  • iOS开发Swift-控制流

    (1)复合匹配 (2)区间匹配 (3)元组匹配 (4)值绑定匹配 (5)where continue, break, fallthrough, return, throw continue: 停止本次循环,开始下次循环 break: 立即结束整个控制流。可以使用break忽略switch的分支。 fallthrough贯穿: switch中的case加入贯穿,case会穿透到下一个case/ default。

    2024年02月11日
    浏览(35)
  • iOS(一):Swift纯代码模式iOS开发入门教程

    1.修改 AppDelegate.swift 和 ViewController.swift 文件 2.删除 SceneDelegate.swift 和 Main.storyboard 文件 3.修改如图所示项 安装 CocoaPods 初始化项目(添加 Podfile 配置文件) 修改 Podfile 文件 安装 打开 ExDemoApp.xcworkspace 项目并向 ViewController.swift 添加示例代码 运行效果 安装 QMUIKit 方式一:触发

    2024年02月09日
    浏览(29)
  • iOS开发Swift-基本运算符

    一元 单一操作对象 -a    !b    c! 二元 两个操作对象 2 + 3 三元 三目运算符 a ? b : c 赋值运算符不返回任何值,所以 if x = y { ... } 无效。 +   -   *   / 默认不允许数值运算中溢出。 溢出运算符:   a + b a % b = 余数 a = (b * 倍数) + 余数 所以a % b = a % -b ==     !=         

    2024年02月11日
    浏览(34)
  • iOS开发Swift-1-Xcode创建项目

    1.创建项目 双击Xcode App,选择Create a new Xcode project。  选择创建一个iOS普通的App项目。选择Single View App,点击Next。  填写项目名,组织名称等,点击next。  选择好文件的存储路径,点击create。  2.为前端添加组件 点击Main,选中View,在右下角show the Object library中找到label组件,

    2024年02月10日
    浏览(26)
  • iOS开发Swift-字符串与字符

     前一个\\\"\\\"\\\"前和后一个\\\"\\\"\\\"后无换行  想要实现在代码编写时换行而在实际运行后不换行:  (1)转义字符 \\0 空字符 \\\\ 反斜线 t 水平制表符 n 换行符 r 回车符 \\\" 双引号 \\\' 单引号 要在\\\"\\\"\\\"中使用(\\\"\\\"\\\")时,必须至少写一个转义符。例如 \\\"\\\"\\\" 或 \\\"\\\"\\\" (2)Unicode标量 u{24} 两位十六进制

    2024年02月11日
    浏览(29)
  • iOS开发Swift-5-自动布局AutoLayout-摇骰子App

    1.在iOS坐标系中,以向左、向下为正方向。图片以左上角为基准点。  2.打开之前的摇骰子App,对它的界面做一些适应所有iPhone机型的效果。  3.先对上方logo做一个y轴约束和一个宽高约束。 宽高约束:  水平居中:  对y轴进行约束。将虚线点击变红色实线,表示固定相邻视图

    2024年02月10日
    浏览(25)
  • iOS开发Swift-2-图片视图、App图标-赏月App

    1.创建新项目 点击File - New - Project。  选择Single View App,点击Next。  填写文件信息,点击Next。  选择文件位置,点击Create。   修改App显示名称为 “赏月”。 2.设置背景色 选择Main,点击View界面,选择右边属性,点击Background选择背景色。  3.创建图片视图  在组件库中找到

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包