清泛IT社区App Inventor 2 中文社区

搜索

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.72

Aia Store .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

开通会员送SVIPApp Inventor 2 拓展有奖征文 VIP会员享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档中文教程IoT专题

查看: 4166|回复: 1
打印 上一主题 下一主题

[经验分享] AI2 如何快捷比较两个列表的差异项,然后再根据差异的项去执行更新操作? ...

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 284 天

    [LV.8]以坛为家I

    529

    主题

    916

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    22383

    AI2中文网VIP弹球达人接水果达人撸猫达人

    跳转到指定楼层
    楼主
    发表于 2023-12-07 11:40:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    有会员提问,如题。目前TA采用的方案是:遍历2个列表全部执行一遍,程序很卡!

    解决思路:
    这时,我们就会考虑使用字典来解决这个性能问题了,回顾一下文档中字典的特点:
    https://www.fun123.cn/reference/blocks/dictionaries.html
    Q:App Inventor 2 什么情况下需要使用字典?
    A:列表能完成字典的绝大部分功能,不过字典具有比列表更好的查找性能,因此如果要对数据结构执行大量的操作,建议优先使用字典。

    可以看到,字典可以解决查找性能问题。

    将一个列表转换为字典,遍历另一个每一个项目在字典中查找,可以找出新增的和已删除的条目。伪代码如下:
    列表2转换为字典;遍历列表1;条目不在字典中则是新增项。列表1和2反之,即可找出删除项。


    如果结构不动,仅数据变化,如果找出变化条目?
    也是类似,字典中找到了比一下值就知道是否变化。主要还是依赖字典查找速度快,来提升性能。





    点评

    赞  发表于 2024-01-28 01:43
    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.72 支持Android 14 更新日志
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    © 2024 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

    GMT+8, 2024-11-25 11:21 , Processed in 0.019348 second(s), 32 queries .