Swift Array VS Tuples

1、当我们在Array中放置不同类型的数据时,我们无法再对每个数据的type做定义。
["小明",[90,87,88.5,95,78]]可以被修改为[1,[90,87,88.5,95,78]],而1显然不是正确的名字格式

元组可以定义元素的类型

var tuple : (String, Array) = ("小明",[90,87,88.5,95,78])

元组嵌套元组每一个元素的类型都可以定义

var tuple : (String, (Float,Float,Float,Float,Float)) = ("小明",(90,87,88.5,95,78))
2、数组个数可能发生改变,可增加删除元素
name_score.append("添加一个字符串")
name_score.removeAtIndex(1)

元组一旦定义,其元素个数确定,不能增加、删除

3、数组套字典必须定义key,而元组不需要。当然,如有必要,你还可以为每个元素命名
var tuple = (name:"小明",[90,87,88.5,95,78])
tuple.name 等同于 tuple.0
4、字典的存储顺序不确定,而元组是固定的

tupe 更安全

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ios 技术积累

swift 函数

下面定义名称 sayHello 的函数,只有一个 String 类型的 name 参数,函数返回值为 String 类型。

623
来自专栏Python小屋

Python类中公开方法、私有方法和特殊方法的继承原理

在Python中,对象的私有成员在类外部、派生类或程序中无法直接访问,但是可以通过“对象名._类名__私有成员名”这样一种特殊的形式来访问。 基类的构造方法和公...

3495
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-07(01).总结private,this,封装,static,成员方法变量,局部变量匿名对象

1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成...

3324
来自专栏微信公众号:Java团长

Java 类集框架(Set, List, Map)的使用

Set 接口和 List 接口都是 Collection 的子接口,因此我们先看看Collection 接口中有什么方法:

882
来自专栏从零开始学 Web 前端

07 - JavaSE之容器

Collection 接口的子接口分为:Set接口(包含 HashSet类) + List接口(包含LinkedList 类和 ArrayLis t类) Ma...

712
来自专栏noteless

-1-3 java集合框架基础 java集合体系结构 Collection 常用java集合框架 如何选择集合 迭代器 泛型 通配符概念 Properties 集合 迭代器

                        数组可以是基本类型,也可以是引用类型

882
来自专栏程序生活

Leetcode-Easy21. Merge Two Sorted ListsDefinition for singly-linked list.class ListNode:def init(sel

21. Merge Two Sorted Lists 描述: 将两个有序链表进行合并,合并之后的链表也是有序链表 ? 思路: 递归 代码 ...

2543
来自专栏java学习

Java每日一练(2017/9/2)

本期题目: (单选题)1、如果int x=20, y=5,则语句System.out.println(x+y+""+(x+y)+y); 的输出结果是() A...

3257
来自专栏老马说编程

计算机程序的思维逻辑 (13) - 类

类 程序主要就是数据以及对数据的操作,为方便理解和操作,高级语言使用数据类型这个概念,不同的数据类型有不同的特征和操作,Java定义了八种基本数据类型,其中,...

17910
来自专栏LanceToBigData

JavaSE(三)之static、final、abstract修饰符

一、static修饰符 1.1、static变量         在类中,使用static修饰的成员变量,就是静态变量,反之为非静态变量。         ...

1785

扫码关注云+社区