学习swift从青铜到王者之Swift集合数据类型03
1 数组的定义
var array1 = [,,,]
var array2: Array = [,,,]
var array3: Array<Int> = [,,,]
var array4: [Int] = [,,,]
2 数组元素可以是不同类型
var array:Array<Any> = ["a", , 2.4]
3 数组元素(增,删,改,查)
//数组元素的访问
var array1 = ["a", "b", "c"]
print(array1[])//a
//数组元素-增加
var array2 = ["a", "b", "c"]
array2.append("d")
print(array2)//["a", "b", "c", "d"]
//数组某个位置插入元素
var array3 = ["a", "b", "c"]
array3.insert("f", at: )
print(array3)//["f", "a", "b", "c", "d"]
//数组元素的修改
var array4 = ["a", "b", "c"]
array4[] = "d"
print(array4)//["d", "b", "c"]
//数组元素的删除
var array5 = ["a", "b", "c"]
array5.remove(at: )
print(array5)//["b", "c"]
5 数组的遍历
//第一种 for in方式
for item in array {
print("\(item)")
}
//第二种 索引-值方式enumerate()
for (index, item) in array.enumerated(){
print("索引:\(index) 值:\(item)")
}
6 字典的概念和定义
字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合
var dict: Dictionary<String, Any> = ["name" : "yhx", "age" : ]
7 字典的增删查改操作
// 定时字典的同时,进行初始化
var dict: Dictionary<String, Any> = ["name" : "yhx", "age" : 18]
// 添加数据
dict["height"] = 1.7
dict["weight"] =
// 删除字段
dict.removeValue(forKey: "height")
// 修改字典
dict["name"] = "yhx1"
dict.updateValue("yhx2", forKey: "name")
// 查询字典
dict["name"]
8 字典的遍历
// 定时字典的同时,进行初始化
var dict: Dictionary<String, Any> = ["name" : "yhx", "age" : ]
// 遍历字典中所有的值
for value in dict.values {
print(value)
}
// 遍历字典中所有的键
for key in dict.keys {
print(key)
}
// 遍历所有的键值对
for (key, value) in dict {
print(key)
print(value)
}
9.字典的合并
// 字典的合并
var dict1:Dictionary<String, Any> = ["name" : "yhx", "age" : ]
var dict2:Dictionary<String, Any> = ["height" : 1.7, "phoneNum" : ""]
// 字典并不可以相加合并
for (key, value) in dict1 {
dict2[key] = value
}
print(dict2)
学习swift从青铜到王者之Swift集合数据类型03的更多相关文章
- 学习swift从青铜到王者之swift属性09
1.结构体常量和类常量的存储属性 let p1 = Person1() //p1.age = 88 不允许修改 //p11.name = "yhx1" 不允许修改 var p11 ...
- 学习swift从青铜到王者之swift闭包06
语法表达式 一般形式:{ (parameters) -> returnType in statements } 这里的参数(parameters),可以是in-out(输入输出参数),但不能设定 ...
- 学习swift从青铜到王者之swift结构体和类08
定义 // 定义类 class StudentC{ } // 定义结构体 struct StudentS{ } 定义存储属性 // 定义类 class StudentC{ var name:Strin ...
- 学习swift从青铜到王者之swift枚举07
空枚举 //空枚举 enum SomeEnumeration { // enumeration definition goes here } 枚举基本类型 //枚举基本类型 enum CompassP ...
- 学习swift从青铜到王者之Swift语言函数05
1.定义一个函数以及调用 //一,定义一个无参无返回值函数 func fun1(){ print("this is first function") } fun1() 2.定义一个 ...
- 学习swift从青铜到王者之Swift控制语句04
1 if语句基本用法 if boolean_expression { /* 如果布尔表达式为真将执行的语句 */ } 如果布尔表达式为 true,则 if 语句内的代码块将被执行.如果布尔表达式为 f ...
- 学习swift从青铜到王者之swift基础部分01
1.1 变量和常量 var 变量名称 = 值(var可以修改) let 常量名称 = 值(let不可以修改) 1.2 基本数据类型 整数类型和小数类型 两种基本数据类型不可以进行隐式转换 var in ...
- 学习swift从青铜到王者之字符串和运算符02
1 字符和字符串初步 var c :Character = "a" 2 构造字符串 let str1 = "hello" let str2 = " ...
- 学习Android从青铜到王者之第一天
1.Android四层架构 一.Linux Kernel 二.Libraries和Android Runtime 三.Application Framework 四.Applications 一.Li ...
随机推荐
- R in action读书笔记(11)-第八章:回归-- 选择“最佳”的回归模型
8.6 选择“最佳”的回归模型 8.6.1 模型比较 用基础安装中的anova()函数可以比较两个嵌套模型的拟合优度.所谓嵌套模型,即它的一 些项完全包含在另一个模型中 用anova()函数比较 &g ...
- Nodejs AES加密不一致问题的解决
最近在做android游戏,客户端与Nodejs服务端数据的交互用AES进行加密,发现Nodejs与java的加密形式不一样.查询N久资料发现java端需要对密钥再MD5加密一遍(我了个大擦),本来对 ...
- 经典问题——输出n对括号的所有组合
问题 n对括号有多少种合法的组合,比如两对括号可以有两种:()()和(()) 思路 问题等价为:在一个字符串中包含两种字符:'('和')',他们出现的次数都为n,并且任何时候'('出现的次数总是大于或 ...
- 谈谈JVM内存区域的划分
我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等 ...
- tab切换组件nz-tab
<nz-card [nzBordered]="true" nzTitle="卡片标题"> <nz-card style="width ...
- E. String Multiplication
E. String Multiplication time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- Lua表(table)的用法_个人总结
Lua表(table)的用法_个人总结 1.表的创建及表的介绍 --table 是lua的一种数据结构用来帮助我们创建不同的数据类型.如:数组和字典--lua table 使用关联型数组,你可以用任意 ...
- Luogu P4299 首都 LCT
既然是中文题目,这里便不给题意. 分析: 这个题的做法据说是启发式合并? 但是我不会啊…… 进入正题,LCT是怎样做掉这道题的.记得在前面的一篇<大融合>的题解中,介绍过LCT维护子树信息 ...
- 启发式合并 CodeForces - 600E
启发式合并最重要的思想就是指的是每次将小集合拷贝合并至大集合.考虑每个元素的合并开销.对于合并次数最多的那个元素来说,它每合并一次,所在集合的规模扩大两倍,最多只会合并 logN 次,因而对于所有元素 ...
- 1 SQL 数据库和SQL
1 数据库和SQL 1-1 数据库是什么 将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合称为数据库(Database, DB). 法则 用来管理数据库的计算机系统称为数据库管理系统 ...