b***i 发帖数: 3043 | 1 就是要构造一个容器,初始化只加入一个对象。
然后我就开始遍历这个容器,当作Breadth First Search那种,就当前指向的对象,我
要在容器中加入新的对象,我不会重复加入同样的对象,然后我继续遍历,直到我处理
最后一个对象时没有加入新对象为止。
我用LinkedList产生上述错误,请问有哪个List可以一边遍历一边动态加入对象?我是
单线程的。谢谢! |
f*******n 发帖数: 12623 | 2 You don't need to iterate. To do BFS, you just need to add to one end and
remove from the other. To remove from the beginning of LinkedList you can
use .removeFirst(). |
b***i 发帖数: 3043 | 3 我需要判断是否重复,是个图,所以把某个点附近的点都加入,为了防止兜圈子,我用
了两个LinkedList,一个每次删掉第一个,另一个不删除,只增加,这样可以避免
Exception,也可以避免重复。
就没有一个可以不出现这个Exception的,又 iterate?
【在 f*******n 的大作中提到】 : You don't need to iterate. To do BFS, you just need to add to one end and : remove from the other. To remove from the beginning of LinkedList you can : use .removeFirst().
|
g*****g 发帖数: 34805 | 4 There's no difference between iterate and removeFirst. But if you insist,
try LinkedBlockingQueue, which has an weak consistent iterator that won't
throw this exception.
【在 b***i 的大作中提到】 : 我需要判断是否重复,是个图,所以把某个点附近的点都加入,为了防止兜圈子,我用 : 了两个LinkedList,一个每次删掉第一个,另一个不删除,只增加,这样可以避免 : Exception,也可以避免重复。 : 就没有一个可以不出现这个Exception的,又 iterate?
|