概述
Iteratror
如何创建
对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:
- 迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。
- 方法名称得到了改进。
Iteratror是一个接口,所以不能直接创建对象,需要使用Collectiuon集合下的iterator()方法
- 使用方法:Iteratror 对象名 = Collection对象.iterator()。
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
//使用多态,创建ArrayList
Collection array = new ArrayList<String>(10);
array.add("张三");
array.add("李四");
array.add("王二");
//创建迭代器对象
Iterator iter = array.iterator();
}
}
主要方法
返回值类型 | 方法名 | 说明 |
---|---|---|
boolean | hasNext() | 如果仍有元素可以迭代,则返回 true。 |
E | next() | 返回迭代的下一个元素。 |
void | remove() | 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。 |
方法的使用
遍历迭代器使用hasNext()方法和next()方法:
- 先使用hasNext()判断迭代器是否还有下一个元素
- 使用next()方法取出下一个元素
- next()方法将会使用一次remove()方法,当遍历完成后,迭代器中元素为空
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
Collection array = new ArrayList<String>(10);
array.add("张三");
array.add("李四");
array.add("王二");
Iterator iter = array.iterator();
/*
迭代器的遍历输出
*/
while(iter.hasNext()) { //判断是否有下一个元素
String s = iter.next().toString(); //取出下一个元素
//iter.remove();
System.out.println(s); //输出
}
//判断是否还有元素
System.out.println(iter.hasNext());
}
}
增强for循环
- 增强for循环内部原理是Iterator迭代器,不能对元素进行增删改操作
- 使用方法:
for(元素类型 元素名 : Collection集合或数组)
- 不会删除集合中的元素,可以多次使用
import java.util.ArrayList;
import java.util.Collection;
public class Main {
public static void main(String[] args) {
Collection<String> array = new ArrayList<String>(10);
array.add("张三");
array.add("李四");
array.add("王二");
//增强for循环
for(String s : array) {
System.out.println(s);
}
}
}
最后
以上就是迷人星月为你收集整理的Java学习——Iterator迭代器Iteratror增强for循环的全部内容,希望文章能够帮你解决Java学习——Iterator迭代器Iteratror增强for循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复