一、 映射表的概念
在了解映射表的概念之前,我们需要先明确映射的概念,映射是一个数学名词,它指的是集合与集合之间的一种对应关系:集合A中的每一个元素都在集合B中存在与之对应的元素。
下面引入LabVIEW中的映射表的概念:由多对“键-值”对组成的条目集合。其中所有键都是唯一的,而值可以不唯一,每一个键都必须有一个与之对应的值。
由此可见键和值之间存在映射关系,由多对“键-值”条目组成的集合就是映射表,键和值可以分别为任意数据类型。映射表也可以称为字典,因为查找映射表类似于查字典,“键”通常被用于查找“值”。
二、映射表的API
生成映射表:使用输入的所有“键-值”对创建一个映射表。对于具有重复键的条目,该函数仅包括结果映射表中的最后一个条目。各个键的数据类型必须相同,各个值的数据类型也必须相同。
插入映射表:给已有映射表中插入一个新的条目后输出结果映射表。如果键已包含在映射表中,则此函数将用新的关联值替换键的原始值。
从映射表中删除:从已有映射表中删除指定条目后输出结果映射表。当键存在时返回该键相关联的值。
在映射表中查找:检查映射表是否包含指定键的条目,并返回键的关联值。如果不包含指定键则会返回T。
读取映射表最大值和最小值:映射表中的键可以看作一个集合,该API可以获取到所有键集合中的最大元素和最小元素。
群体大小:返回输入的群体的元素个数,即群体的大小。(该API集合和映射表通用)
空群体:当输入的群体中元素个数为零时返回T。(该API集合和映射表通用)
二、 映射表的相关知识
1、虽然变体属性也可以用作字典来查找值,但是映射表更灵活,因为键和值都可以是任何LabVIEW数据类型。对于变体属性,键必须是字符串,值必须是变体。相比变体属性,映射表更加不容易出错。对于映射表,LabVIEW在编辑时返回连线错误,因为值接收指定的数据类型。对于变体属性,LabVIEW在运行时返回接线错误,因为该值是接受任何数据的变体类型。
2、映射表可以通过循环的索引输入访问到每个条目,条目是以簇的形式呈现(簇中包含键和值两个元素),并且再通过一次索引输出转换成一个簇数组,如下图所示:
3、映射表操作(插入、删除、查找等)相对于数组操作(插入、删除、索引)映射表操作消耗的资源会更多,但是它的执行速度和效率远高于数组操作。
三、群体数据类型的应用场景
1、快速计算:虽然集合和映射表作为群体数据结构具备有序性会额外消耗部分内存开销,但是它们可以对数据进行更快地搜索、插入、更改以及删除等操作,所以十分适合应用在需要快速计算的应用场景下;
2、防止重复写入:由于群体数据类型中元素或条目具有唯一性,这使得它可以防止重复写入,保证数据的唯一性,所以十分适合应用在需要放置重复写入的应用场景下。
3、查找特定数据:在LabVIEW 2019之前,存储有序数据或有对应关系的数据时会选择簇或数组,并且操作簇或数组来完成特定数据的查找,但现在可以用集合与映射表来替代。
四、拓展:
集合与映射表都属于群体数据结构,而群体数据结构除了LabVIEW中有,在其他很多编程语言中也有。比如python中有Set(集合)和Dict(字典)数据结构,它就对应了LabVIEW中的集合与映射表。Python和LabVIEW的群体数据结构对应关系如下:
审核编辑:刘清
-
LabVIEW
+关注
关注
1971文章
3654浏览量
323641 -
python
+关注
关注
56文章
4797浏览量
84689
原文标题:知识分享 | LabVIEW中的群体数据类型(二)
文章出处:【微信号:华穗科技,微信公众号:华穗科技】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论