0
在適當學分喬和他的網站javapapers.com,說明在迭代器的具體示例所需
我需要對此,我碰到而在Java瀏覽關於迭代器下面的代碼解釋
package com.javapapers;
import java.util.ArrayList;
import java.util.Iterator;
public class AnimalIterator<String> implements Iterator<Object> {
private ArrayList<?> animal;
private int position;
public AnimalIterator(Animal animalBase) {
this.animal = animalBase.getAnimal();
}
@Override
public boolean hasNext() {
if (position < animal.size())
return true;
else
return false;
}
@Override
public Object next() {
Object aniObj = animal.get(position);
position++;
return aniObj;
}
@Override
public void remove() {
animal.remove(position);
}
}
package com.javapapers;
import java.util.ArrayList;
import java.util.Iterator;
public class Animal implements Iterable<String> {
private ArrayList<String> animal = new ArrayList<String>();
public Animal(ArrayList animal){
this.animal = animal;
}
public ArrayList getAnimal() {
return animal;
}
@Override
public Iterator<String> iterator() {
return new AnimalIterator(this);
}
}
package com.javapapers;
import java.util.ArrayList;
public class TestIterator {
public static void main(String args[]) {
ArrayList<String> animalList = new ArrayList();
animalList.add("Horse");
animalList.add("Lion");
animalList.add("Tiger");
Animal animal = new Animal(animalList);
for (String animalObj : animal) { ??
System.out.println(animalObj); ??
}
}
}
我的疑問是在??,在這裏我們定義for循環遍歷動物對象的定義,但我不明白這裏如何使用迭代器。
源
http://javapapers.com/core-java/java-iterator/
請參閱[this](http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html)和[this](http://docs.oracle.com/javase /specs/jls/se7/html/jls-14.html#jls-14.14.2) –
答案有幫助嗎? – kai