迭代器可以一个一个获取…
没有使用迭代器的例子:
import java.util.Collection;
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
Collection coll = new ArrayList();
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
coll.add("abc4");
System.out.println(coll);
}
}
运行结果:
如果我们想要从集合中一个一个的获取这时就只能使用迭代器了…
使用迭代器的例子:
while循环
import java.util.Collection;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo {
public static void main(String[] args) {
Collection coll = new ArrayList();
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
coll.add("abc4");
Iterator it = coll.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
}
运行结果:
如果迭代器只使用一次for循环可以更省内存
import java.util.Collection;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo {
public static void main(String[] args) {
Collection coll = new ArrayList();
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
coll.add("abc4");
for(Iterator it = coll.iterator(); it.hasNext(); ) {
System.out.println(it.next());
}
}
}
运行结果:
Iterator迭代器的方法:
1.(常用)
返回类型 方法
boolean hasNext()
判断集合是否为空,空返回false
,非空返回true
2.(常用)
返回类型 方法
E next()
E是我们给以确定的类型(泛型)
例如:
Iterator<String> it = coll.iterator()
next()是返回迭代的下一个元素
3.(不常用)
返回类型 方法
default void forEachRemaining(Consumer<? super E> action)
对每个剩余元素执行给定的操作,直到所有元素都被处理或动作引发异常。
4.(不常用)
返回类型 方法
default void remove()
从底层集合中删除此迭代器返回的最后一个元素(可选操作)。