java笔记
一,迭代器
1,Iterator
a
hasNext
boolean hasNext()
如果迭代具有更多元素,则返回true 。 (换句话说,如果next()返回一个元素而不是抛出异常,则返回true )
结果
true如果迭代有更多元素
b
next
E next()
返回迭代中的下一个元素。
结果
迭代中的下一个元素
异常
NoSuchElementException - 如果迭代没有更多元素
c
remove
default void remove()
从底层集合中移除此迭代器返回的最后一个元素(可选操作)。 每次调用next()时,只能调用此方法一次。
除非通过调用此方法以外的任何方式修改基础集合,否则迭代器的行为未指定,除非重写类已指定并发修改策略。
如果在调用forEachRemaining方法后调用此方法, 则不指定迭代器的行为。
实现要求:
默认实现会抛出UnsupportedOperationException的实例,并且不执行任何其他操作。
异常
UnsupportedOperationException - 如果此迭代器不支持 remove操作
IllegalStateException -如果 next方法尚未被调用,或 remove方法已经到了最后一个电话后,叫 next方法
!!
E - 此迭代器返回的元素类型(范型)
例子
public class IteratorDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建集合对象
List<String> li =new ArrayList<String>();
//添加集合元素
li.add("Hello");
li.add("World");
li.add("Java");
//遍历集合,迭代器遍历
Iterator<String> it=li.iterator();
while(it.hasNext()) {//如果仍有元素可以迭代,则返回true,while循环,。hasNEXT()方法来判断是否有元素
String st=it.next();//返回该元素
System.out.println(st);//输出
}
System.out.println("------------");
while(it.hasNext()) {//如果仍有元素可以迭代,则返回true,while循环,。hasNEXT()方法来判断是否有元素
String st=it.next();//返回该元素
System.out.println(st);//输出
}
System.out.println("------------");
//普通for循环遍历
for(int x=0;x<li.size();x++) {
String st = li.get(x);
System.out.println(st);
}
//增强for遍历,简单:
for(String st:li) {
System.out.println(st);
}
}
}
浙公网安备 33010602011771号