递归火山软件开发平台

标题: 在哈希表循环内部删除成员会报错,怎么破? [打印本页]

作者: Fang0x378    时间: 2021-6-22 17:00
标题: 在哈希表循环内部删除成员会报错,怎么破?

在哈希表循环内部删除成员会报错,怎么破?
如果这样实现不了,那就要全部推倒想其他办法了。



(, 下载次数: 65)


(, 下载次数: 5)

作者: Xelloss0618    时间: 2021-6-22 17:38
这肯定报错啊,枚举循环相当于计次循环,你删了部分成员,循环次数和成员数就对不上了,相当于数组越界

你可以在循环外部加个整数数组,在哈希表循环内部把符合条件的关键字加入到数组里

哈希表循环完之后,再去循环这个整数数组来删除哈希表的成员
作者: 创世魂    时间: 2021-6-22 17:52
是的。。没毛病。。楼上说的对。
作者: 伟业    时间: 2021-6-22 18:00
用易语言的话来说,就是超出数组成员下标
作者: 伟业    时间: 2021-6-22 18:09
(, 下载次数: 62)

改进例子

作者: aiyanok    时间: 2021-6-23 06:37
首先如果要删除成员 建议逆向遍历
另外建议火山里不要去用计次循环和枚举 特别是多线程下
最好是无论什么 都用循环
作者: 正版商业用户    时间: 2021-6-23 07:53
aiyanok 发表于 2021-6-23 06:37
首先如果要删除成员 建议逆向遍历
另外建议火山里不要去用计次循环和枚举 特别是多线程下
最好是无论什么  ...

有什么不好的地方?
作者: 呵呵仙8    时间: 2021-6-23 10:09
http://bbs.voldp.com/forum.php?m ... tid=9841&extra=
作者: 小蜗牛    时间: 2021-6-23 12:04
aiyanok 发表于 2021-6-23 06:37
首先如果要删除成员 建议逆向遍历
另外建议火山里不要去用计次循环和枚举 特别是多线程下
最好是无论什么  ...

哈希表...逆向循环删除也不行...
必须要先复制出所有主键,然后在删除..




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4