java迭代器到底怎么使用

求Java中迭代如何使用,举个例子,并附注释,本人刚学到迭代器。

我们在使用List,Set的时候,为了实现对其数据的遍历,我们经常使用到了Iterator(跌代器)。 使用跌代器,你不需要干涉其遍历的过程,只需要每次取出一个你想要的数据进行处理就可以了。但是在使用的时候也是有不同的。 List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterator和ListIterator主要区别在以下方面: 1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能 2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。 3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。 4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。 因为ListIterator的这些功能,可以实现对LinkedList等List数据结构的操作。 其实,数组对象也可以用迭代器来实现。 org.apache.commons.collections.iterators.ArrayIterator就可以实现此功能。 一般情况下,我们使用Iterator就可以了,如果你需要进行记录的前后反复检索的话,你就可以使用ListIterator来扩展你的功能,(有点象JDBC中的滚动结果集)。 ListIterator是一个双向迭代器。ListIterator没有当前元素,它的当前游标是位于调用next()和previsous()返回的元素之间。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-20
链表的一些方法使用和迭代器的使用(把链表内的元素迭代出),你可以看下~ import java.util.*;public class test11 {
static LinkedList list = new LinkedList();
String[] arrays = {"1","2","3","4","5"};
static Iterator it ;
public static void main(String[] args) {
test11 t = new test11();
t.useLinkedList(list);
t.useIterator(list,it);
}//链表的使用
public void useLinkedList(LinkedList list)
{
for(int i = 0;i < 5;i++)
list.add(arrays[i]);//把数组的元素都添加到链表

System.out.println("操作前的长度:"+list.size());//打印出链表的长度

System.out.println("此列表的头(第一个元素)为:"+list.peek());/*peek() 找到但不移除此列表的头(第一个元素)。*/

System.out.println("查找后的长度:"+list.size());

System.out.println("移除的元素为:"+list.poll()); /*poll() 找到并移除此列表的头(第一个元素)。*/

System.out.println("移除后的长度:"+list.size());

System.out.println("返回第一个元素:"+list.getFirst());//getFirst() 返回此列表的第一个元素。

System.out.println("返回最后一个元素:"+list.getLast());//getLast() 返回此列表的最后一个元素。

if(list.contains("4"))//boolean contains(Object o) 如果此列表包含指定元素,则返回 true。
System.out.println("存在此元素");
else
System.out.println("不存在此元素");

}//迭代器的使用
public void useIterator(LinkedList list,Iterator it)
{
it = list.iterator();
//将链表的元素迭代出并打印
while(it.hasNext())
System.out.print(it.next()+"\t");
}
}本回答被网友采纳
第2个回答  2013-07-20
你应该知道迭代器首先是干什么用的,在集合框架中,有所讲解,我在这里就不重复了,其中迭代器,是为了,遍历集合中的所用元素,所提供的一种通用方法public static void print(Collection c){//产生一个通用的迭代器迭代器将Collection类型的集合作为参数传入 Itreator it = c.itreator(); while(it.hasNext){//判断是否有下一个元素 System.out.println(it,next());打印出元素}class Test{ public static void main(String[] args){ Vector ve = new Vector();//定义一个集合的引用类型 ve.add("张三"); ve.add("李四"); print(ve);//在这里调用通用的迭代器,将集合中的元素全部打印出来 /////////////////////////////////////////////////////////// 还可以直接写迭代器,上楼上的那样,写在主方法里就行} }}
第3个回答  2013-07-20
比方说:List ls = new ArrayList();Iterator it = ls.iterator();while(it.hasNext()){MyPojo o = (MyPojo)it.next();}以上代码手打的,可能有字母错误
第4个回答  2021-04-05

讲解的是Java增强,重点讲解的是享元模式,增强的for循环的本质就是迭代器,同时还讲解了迭代器遍历集合的方式。

java迭代是什么意思?
使用Java迭代器迭代集合类的元素非常简单。例如,我们可以通过调用ArrayList类的iterator()方法来获取迭代器对象,然后使用while循环进行迭代操作。示例代码如下:ArrayList list = new ArrayList<>();list.add("apple");list.add("banana");list.add("orange");Iterator ...

java.Iterator迭代器,谁给我发一份教程
(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。(2) 使用next()获得序列中的下一个元素。(3) 使用hasNext()检查序列中是否还有元素。(4) 使用remove()将迭代器新返回的...

java迭代器是什么意思
Java中的迭代器是一种规范,它可以帮助我们在集合对象中进行遍历操作。使用迭代器可以遍历集合中的所有元素,并且可以对元素统一操作。Java迭代器的最常用方法是next()和hasNext(),前者是返回下一个元素,后者是判断是否存在下一个元素。使用迭代器可以使代码更具有复用性和灵活性,因为它不仅限于一种类型...

List 删除使用Iterator迭代器
在处理列表(List)中的元素时,使用迭代器(Iterator)是一种非常常见的方法。Iterator可以遍历集合中的元素,实现元素的增删改查操作。Iterator有多种方法,其中包括next()、hasNext()、remove()等。以ArrayList为例,以下代码展示了如何使用Iterator遍历并删除列表中的元素。代码如下:java List list = new ...

【Java核心基础】揭秘Iterable接口和Iterator接口的核心区别!
例如:java class MyCollection implements Iterable { \/\/ 实现iterator()方法 } MyCollection myCollection = ...;for (String element : myCollection) { \/\/ 遍历元素 } 而对于Iterator的使用,通常从集合获取迭代器,然后逐个处理元素。迭代器提供了灵活的遍历方式,适合需要更精确控制流程的情况。

javor()方法详解
在使用迭代器模式时,需要确保容器接口的兼容性,并考虑在遍历过程中容器操作的安全性,以及如何处理复合对象的深层遍历。适用于访问容器内容,无需暴露内部结构,支持多种遍历方式,并为不同容器结构提供统一接口的情况。总结来说,迭代器模式是Java编程中的重要工具,它简化了容器操作,增强了代码的灵活性...

java中什么叫迭代,什么叫迭代器
util包下的集合类。总结:迭代器,提供一种访问一个集合对象各个元素的途径,同时又不需要暴露该对象的内部细节。java通过提供Iterator和Iterable俩个接口来实现集合类的可迭代性,迭代器主要的用法是:首先用hasNext()作为循环条件,再用next()方法得到每一个元素,最后在进行相关的操作。

java迭代器的问题,java的迭代器不用自增吗,还是已经在hasnext和next中...
迭代在while中判断是否还有下一条,it.hasNext()方法返回true(当前迭代还有下一条) 或者 false(没有下一条,已经是最后一条),此时指针不后移,就是不自增,只是单纯判断,根据这个进入方法体,it.next()是在上面条件判断有下一条时,得到下一条,这个方法会将指针向后移动,就是会自增。进入下...

iterator用法
remove:移除迭代器最后返回的元素。这个方法需谨慎使用,因为它会直接改变集合的状态。3. 使用Iterator遍历集合的示例:假设有一个名为“myList”的列表,我们可以使用Iterator来遍历它:java List myList = new ArrayList<>; \/\/ 创建列表 myList.add; \/\/ 添加元素到列表 myList.add;my...

java iterator方法
void remove():删除迭代器刚越过的元素 对于我们而言,我们只一般只需使用next()、hasNext()两个方法即可完成迭代。如下:for(Iterator it = c.iterator(); it.hasNext(); ) { Object o = it.next();\/\/do something } 前面阐述了Iterator有一个很大的优点,就是我们不必知道集合的内部结果,集合...

相似回答