【发布时间】:2010-12-04 21:50:00
【问题描述】:
我浏览了Iterator.remove() 的文档(http://java.sun.com/javase/6/docs/api/java/util/Iterator.html)
remove() 被描述为
void remove()
从底层集合中移除返回的最后一个元素 由迭代器(可选操作)。 该方法只能调用一次 每次调用下一个。一个人的行为 迭代器未指定,如果 基础集合被修改 当迭代正在进行时 除了调用这个以外的任何方式 方法。
- 那么任何人都可以说出“可选”是什么意思吗?
- 这会影响操作的健壮性吗?(和c++一样,它不保证操作的健壮性。)
- 为什么在这里明确指定了“可选”。
- 文档第二行中的“修改”是什么意思
如果底层集合被修改,迭代器的行为是未指定的
【问题讨论】: