迭代器是一个能够循环访问,获取或删除元素的对象。
在通过迭代器访问集合之前,你必须先获得一个集合。每个集合类都提供了一个iterator()方法,它将一个迭代器返回到集合的开始处。通过使用这个迭代器对象,你可以访问集合中的每个元素,一次一个元素。
Iterator类提供了以下方法:
hasNext():检查序列中是否还有元素。如果还有元素,则返回true;否则,它返回false。
next():获得序列中的下一个元素。
remove():将迭代器新返回的元素删除。
Iterator类必须从java.util包中导入。
下面是一个例子:
import java.util.Iterator;
import java.util.LinkedList;
public class MyJavaClass {
public static void main(String[] args) {
LinkedList<String> animals = new LinkedList<String>();
animals.add("dog");
animals.add("cat");
animals.add("monkey");
animals.add("bear");
Iterator<String> it = animals.iterator();
String value = it.next();
System.out.println(value);
}
}
//输出 "dog"
提示:it.next() 返回列表中的第一个元素,然后将迭代器移动到下一个元素。每次调用it.next() 时,迭代器都会移到列表的下一个元素。
通常,迭代器被用在循环中。在循环的每次迭代中,都可以访问相应的列表元素。
下面是一个例子:
import java.util.Iterator;
import java.util.LinkedList;
public class MyJavaClass {
public static void main(String[] args) {
LinkedList<String> animals = new LinkedList<String>();
animals.add("dog");
animals.add("cat");
animals.add("monkey");
animals.add("bear");
Iterator<String> it = animals.iterator();
while(it.hasNext()) {
String value = it.next();
System.out.println(value);
}
}
}
/* 输出
dog
cat
monkey
bear
*/
在这里,while循环决定迭代器是否有附加元素,打印元素的值,并将迭代器推进到下一个元素。
网友评论