iterator移除元素
iterator接口的remove方法将会移除上次调用next方法时返回的元素。大多情况下,在确定应该移除某元素之前,先看看该元素是很具有实际意义的。但是,如果想移除特定位置的元素,仍然需要跳过该元素。
更重要的是,对next方法和remove方法的调用之间是互相依赖的。如果调用remove之前,没有先调用next方法,那么这是不合法的。如果你尝试进行这样的调用,就会抛出一个IIIegaIStaleException异常。
Java类库的设计人员认为,这些实用方法中的某些方法非常有用,所以Java类库应该让用户能够随时使这些方法,事实上也是这样,使用类库的用户就不必自己去重新构建这些方法了。contains就是这样的一种实用方法。Collection接口声明了相当多的实用方法,所有的实现类都必须提供这些方法。
在这些方法中,有许多方法的功能是很明确的,不需要做过多的解释。
当然,如果实现Collection接口的每个类都必须提供这么多的例行方法,那将是非常累赘的。为r可以使程序员更容易地实现该接口, Java类库提供的AbstractCollection类把基础方法size和iterator抽象化了,但是在它们的基础.上实现了例行方法。