60 likes | 200 Vues
This guide explores Java Iterators, which allow traversing a collection of objects one at a time. Defined by the Java Collections Framework (JCF), the Iterator interface provides methods such as `hasNext()` and `next()`, enabling easy iteration over various data structures like ArrayList and HashSet. We also discuss the ListIterator subinterface, providing additional functionalities like reverse iteration, access to element indices, and element modification methods. Example code snippets illustrate the practical use of Iterators and Generics for efficient collection management.
E N D
Iterators Dan Fleck
Iterators • Iterator • Object that can access a collection of objects one object at a time • Traverses the collection of objects • JCF defines generic interfacejava.util.Iterator • And a subinterface ListIterator
Iterator Example ArrayList aList = new ArrayList(); populateListWithStrings(aList); Iterator itr = aList.iterator(); while (itr.hasNext()) { String nextStr = (String)itr.next(); System.out.printf(“List item is: %s”, nextStr); }
Iterator Example with Generics ArrayList<String> aList = new ArrayList<String>(); populateListWithStrings(aList); Iterator<String> itr = aList.iterator(); while (itr.hasNext()) { String nextStr = itr.next(); System.out.printf(“List item is: %s”, nextStr); }
Iterator methods • See Javadoc for Iterator • Do all Iterators implement the remove operation? What happens if they don’t? • What is another way to iterate through a Collection (ArrayList, Vector, Set, HashSet, LinkedList, etc…)?
ListIterator Extends iterator to allow • reverse iteration of a List • “hasPrevious()”, “previous” methods • Has an add() method • Has a set() method to replace elements • Lets you get the index of the element • Int nextIndex(), int previousIndex()