Java中Iterator迭代器有哪些功能呢?
转自:
http://www.java265.com/JavaJingYan/202110/16356047101630.html
下文笔者讲述Java中迭代器的具体功能,如下所示:
迭代器(Iterator)简介
迭代器(iterator)有时又称光标(cursor)是程序设计的软件设计模式,可在容器对象(container,例如链表或数组)上遍访的接口,设计人员无需关心容器对象的内存分配的实现细节。
各种语言实现迭代器的方式皆不尽同,有些面向对象语言像Java,C#,Ruby,Python,Delphi都已将迭代器的特性内置语言当中,完美的跟语言集成,我们称之隐式迭代器(implicit iterator),但像是C++语言本身就没有迭代器的特色,但STL仍利用模板实现了功能强大的迭代器。STL容器的数据的内存地址可能会重新分配(reallocate),与容器绑定的迭代器仍然可以定位到重新分配后的正确的内存地址。
迭代器是设计模式中的一种,我们常称之为“迭代器模式”
迭代器对象可以遍历并选择序列中的对象
Java中的Iterator功能比较简单,且只能单向移动: 使用next()获得序列中的下一个元素 使用hasNext()检查序列中是否还有元素 使用remove()将迭代器新返回的元素删除
例:
迭代器的示例
list l = new ArrayList(); l.add("java265.com-1"); l.add("java265.com-2"); l.add("java265.com-3"); for (Iterator iter = l.iterator(); iter.hasNext();) { String str = (String)iter.next(); System.out.println(str); } /*迭代器用于while循环 Iterator iter = l.iterator(); while(iter.hasNext()){ String str = (String) iter.next(); System.out.println(str); } */