Fang0x378 发表于 2021-6-22 17:00:54

在哈希表循环内部删除成员会报错,怎么破?


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







Xelloss0618 发表于 2021-6-22 17:38:19

这肯定报错啊,枚举循环相当于计次循环,你删了部分成员,循环次数和成员数就对不上了,相当于数组越界

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

哈希表循环完之后,再去循环这个整数数组来删除哈希表的成员

创世魂 发表于 2021-6-22 17:52:47

是的。。没毛病。。楼上说的对。

伟业 发表于 2021-6-22 18:00:09

用易语言的话来说,就是超出数组成员下标

伟业 发表于 2021-6-22 18:09:51



改进例子

aiyanok 发表于 2021-6-23 06:37:19

首先如果要删除成员 建议逆向遍历
另外建议火山里不要去用计次循环和枚举 特别是多线程下
最好是无论什么 都用循环

正版商业用户 发表于 2021-6-23 07:53:52

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

有什么不好的地方?

呵呵仙8 发表于 2021-6-23 10:09:37

http://bbs.voldp.com/forum.php?mod=viewthread&tid=9841&extra=

小蜗牛 发表于 2021-6-23 12:04:16

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

哈希表...逆向循环删除也不行...
必须要先复制出所有主键,然后在删除..
页: [1]
查看完整版本: 在哈希表循环内部删除成员会报错,怎么破?