从设计上考虑,如果允许集合在Iterator被创建之后,集合结构上的非Iterator机制内的改动,
Iterator是对其做应变好还是不 应变好?
应变的话,Iterator与集合之间须是实时联动,可能通过观察者模式的机制,(可能代价较高),能否让迭代顺利进行,这一点 我相信能做到,因为其支持Iterator本身的add remove操作
不应变的话,就会挑战一致性,这个更严重,因此宁愿设定迭代时 外界不可更改,这个虽然加少了一定适应性,但是换来的是性能和更高的操作稳定性(只提供Iterator本身的结构修改)
为什么某些集合如Vector要failfast
最新推荐文章于 2024-04-30 19:30:38 发布