迭代器的使用和注意事项
来源:互联网 发布:12306客户端网络有问题 编辑:程序博客网 时间:2024/05/01 23:04
Iterator
Interface Iterator<E>
- Type Parameters:
E
- the type of elements returned by this iteratorboolean
hasNext()
Returnstrue
if the iteration has more elements.E
next()
Returns the next element in the iteration.void
remove()
Removes from the underlying collection the last element returned by this iterator (optional operation).Java中的Iterator功能比较简单,并且只能单向移动:
(1) 使用方法iterator()要求容器返回一个Iterator。第一次
调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
想要使用Iterator, 要求这个class implement Interface Iterable<T>
(2) 使用next()获得序列中的下一个元素。
(3) 使用hasNext()检查序列中是否还有元素。
(4) 使用remove()将迭代器新返回的元素删除。
Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。
实现了Iterable的class:
- All Known Implementing Classes:
- AbstractCollection, AbstractList, AbstractQueue, AbstractSequentialList, AbstractSet, ArrayBlockingQueue, ArrayDeque, ArrayList, AttributeList,BatchUpdateException, BeanContextServicesSupport, BeanContextSupport, ConcurrentLinkedQueue, ConcurrentSkipListSet, CopyOnWriteArrayList, CopyOnWriteArraySet,DataTruncation, DelayQueue, EnumSet, HashSet, JobStateReasons, LinkedBlockingDeque, LinkedBlockingQueue, LinkedHashSet, LinkedList, PriorityBlockingQueue,PriorityQueue, RoleList, RoleUnresolvedList, RowSetWarning, SerialException, ServiceLoader, SQLClientInfoException, SQLDataException, SQLException,SQLFeatureNotSupportedException, SQLIntegrityConstraintViolationException, SQLInvalidAuthorizationSpecException, SQLNonTransientConnectionException,SQLNonTransientException, SQLRecoverableException, SQLSyntaxErrorException, SQLTimeoutException, SQLTransactionRollbackException,SQLTransientConnectionException, SQLTransientException, SQLWarning, Stack, SyncFactoryException, SynchronousQueue, SyncProviderException, TreeSet, Vector
迭代器应用:
list l = new ArrayList();
l.add("aa");
l.add("bb");
l.add("cc");
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);
}
*/
- 迭代器的使用和注意事项
- FTP的使用和注意事项
- popupWindow的使用和注意事项
- rownum的使用和注意事项
- CCTableView的使用和注意事项
- fragment的使用和注意事项
- JNI的使用和注意事项
- KindEditor的使用和注意事项
- Webview的使用和注意事项
- JSP的使用和注意事项
- USES_CONVERSION的使用和注意事项
- block的使用和注意事项
- jetty的使用入门和使用注意事项
- 使用CRT函数和CreateThread的注意事项
- sendmessage()和postmessage()使用的注意事项
- qwt5 的编译和使用注意事项
- 浮选机的使用和保养注意事项
- Content-Disposition的使用和注意事项
- 程序员长期保持身心健康的几点建议
- Linux VM环境配置
- PHP调试工具FirePHP使用方法
- OpenCV学习笔记(3)——图像形态学操作(Mathematical Morphology)
- DPL,RPL,CPL 之间的联系和区别
- 迭代器的使用和注意事项
- ORACLE 中dbms_stats的使用
- 用XML文件在Cocos2d-x中实现中文的显示
- DBMS_STATS.GATHER_TABLE_STATS详解
- 分享uboot-1.1.6移植:mini2440+K9F1G08
- LeetCode 108 Convert Sorted Array to Binary Search Tree
- 【LeetCode】Pow(x, n)
- wm_paint 消息详细解析
- 菜单的创建之CCMenuItemLabel与CCMenuItemToggle(开关按钮) 实现良种选择状态的切换