public class StringIterator implements Iterator<Character> {
private String string;
private int i = 0;
public StringIterator(String string) {
this.string = string;
}
@Override
public boolean hasNext() {
return i < string.length();
}
@Override
public Character next() {
char c = string.charAt(i);
i = i + 1;
return c;
}
@Override
public void remove() {
throw new UnsupportedOperationException("Støtter ikke remove");
}
}
public class ListIterator implements Iterator<Character> {
private List<Character> characters;
private int i = 0;
public ListIterator(List<Character> characters) {
this.characters = characters;
}
@Override
public boolean hasNext() {
return i < characters.size();
}
@Override
public Character next() {
char c = characters.get(i);
i = i + 1;
return c;
}
@Override
public void remove() {
throw new UnsupportedOperationException("Støtter ikke remove");
}
}
public class IterationExample {
private String string;
private List<Character> characters;
public void init() {
string = "Java er gøy";
characters = Arrays.asList('J', 'a', 'v', 'a');
}
public void run() {
for (int i = 0; i < string.length(); i++) {
char c = string.charAt(i);
System.out.println(c);
}
Iterator<Character> stringIterator = new StringIterator(string);
while (stringIterator.hasNext()) {
char c = stringIterator.next();
System.out.println(c);
}
for (int i = 0; i < characters.size(); i++) {
char c = characters.get(i);
System.out.println(c);
}
Iterator<Character> listIterator = characters.iterator();
while (listIterator.hasNext()) {
char c = listIterator.next();
System.out.println(c);
}
for (char c : characters) {
}
}
public static void main(String[] args) {
IterationExample program = new IterationExample();
program.init();
program.run();
}
} |