1-2迭代器的原理图 hasNext() 一开始指针指在-1的位置 当判断 hasNext()有下一个元素时: 下一个位置的数据“姚明”就会先被取出 然后next()指针指向下一位置 ;
将容器变为黑盒,并借由“第三方”迭代器来专门提供容器内元素的遍历策略,除了代码层面更为清晰独立,还有一个很重要的原因,就是可以在迭代器里面进行一些增强处理操作,这样可以保证容器的遍历动作不会因为容器内元素出现变更而导致异常,使得代码更加的稳健。 以最常见的ArrayList为例,在我之前的文档《JAVA中简单的for循...
迭代器在Collcection接口中是通用的,它替代了Vector类中的Enumeration(枚举)。 迭代器的next方法是自动向下取元素,要避免出现NoSuchElementException。 迭代器的next方法返回值类型是Object,所以要记得类型转换。 Set HashSet:线程不安全,存取速度快。 通过equals方法和hashCode方法来保证元素的唯一性。 不保证set的迭代顺...
迭代器在Collcection接口中是通用的,它替代了Vector类中的Enumeration(枚举)。 迭代器的next方法是自动向下取元素,要避免出现NoSuchElementException。 迭代器的next方法返回值类型是Object,所以要记得类型转换。 Set HashSet:线程不安全,存取速度快。 通过equals方法和hashCode方法来保证元素的唯一性。 不保证set的迭代顺...