ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 时间的音符

[分享] 关于collection是否适合当作栈?

[复制链接]
头像被屏蔽

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-24 10:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2024-2-24 11:00 | 显示全部楼层
本帖最后由 wanghan519 于 2024-2-24 11:46 编辑
时间的音符 发表于 2024-2-24 10:38
collection可以头部插入吗? 如果可以那么就可以当成栈和队列使用了.

可以的,add方法的第三个参数是before
头部插入和删除都很快,就是个栈
但必须保证有一个元素,再开始头部插入,比较怪。。。


批注 2024-02-24 105815.jpg

评分

1

查看全部评分

头像被屏蔽

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-24 11:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2024-2-24 11:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
所以,如果集合确实是头快尾慢,那么集合就适合用做队列?
比如,做先进先出进销存,就时候用集合来处理出库??

TA的精华主题

TA的得分主题

发表于 2024-2-24 11:13 | 显示全部楼层
如果是栈,可以考虑用数组。 一种是大数组,记录层数,实现出入栈;一种是可以用redim preserve来处理数组。
一种是占空间比较大,一种是速度会有一点慢。
头像被屏蔽

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-24 11:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2024-2-24 11:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 micch 于 2024-2-24 11:19 编辑
时间的音符 发表于 2024-2-24 11:13
先进先出是指数据先进去的先弹出,跟进销存关系我不太了解.

嗯,有一些情况下,出库的时候,要根据入库的顺序,先入库的先出库或者是快到保质期的优先出库,比如生鲜类库存,考虑保质期。

一般也不会考虑速度,所以我写代码,基本就是提取所有库存,然后按优先级排序后减库存。

如果,用集合来处理数据。那么逻辑应该是:

第一步先读取库存数据,在筛选需要出库的品类时,用集合存储当前库存,记录时用集合按入库日期或者说保质期的顺序进入集合,然后减库存的时候,从集合头部开始逐个库存去减。
头像被屏蔽

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-24 11:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-25 18:19 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2024-2-25 19:12 | 显示全部楼层
时间的音符 发表于 2024-2-25 18:19
可以肯定collection是链表构成的,collection读取也非常慢,没有数组快.
我经常用collection,难怪的写的代码 ...

遍历collection需要用for each而不能用下标,否则每个下标都是从头找到i,for each是遍历链表

图片.png

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 15:40 , Processed in 0.047532 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表