java----for 与 for-each
2015-09-06 20:33
579 查看
1. java迭代器
与c++中差不多,主要有下面几个方法:
(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。
注意:iterator()方法是java.lang.Iterable接口,被Collection继承。而且在执行next()后,句柄会发生变化,例子中会说明。
(2) 使用next()获得序列中的下一个元素。
(3) 使用hasNext()检查序列中是否还有元素。
(4) 使用remove()将迭代器新返回的元素删除。
2.java for-each
是for循环的加强版,类似 for( i : is ){ }
实例
red:A
yellow:B
blue:C
redA
redB
redC
yellowA
yellowB
yellowC
blueA
blueB
blueC
3.分析
无法使用for-each的情况(适合使用迭代器for)
-需要删除指定元素
-需要使用索引
-需要平行迭代
与c++中差不多,主要有下面几个方法:
(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。
注意:iterator()方法是java.lang.Iterable接口,被Collection继承。而且在执行next()后,句柄会发生变化,例子中会说明。
(2) 使用next()获得序列中的下一个元素。
(3) 使用hasNext()检查序列中是否还有元素。
(4) 使用remove()将迭代器新返回的元素删除。
2.java for-each
是for循环的加强版,类似 for( i : is ){ }
实例
package java_exercise; import java.util.Arrays; import java.util.Iterator; import java.util.List; public class ScopeExample { public static void main(String[] args){ String[] colors = new String[]{"red","yellow","blue"}; String[] letters = new String[]{"A","B","C"}; List<String> colorList = Arrays.asList(colors); List<String> letterList = Arrays.asList(letters); for(Iterator<String> i = colorList.iterator();i.hasNext();){ for(Iterator<String> j = letterList.iterator();j.hasNext();){ System.out.println(i.next() + ":" + j.next()); } } } }执行的结果是:
red:A
yellow:B
blue:C
package java_exercise; import java.util.Arrays; import java.util.List; public class ScopeExample { public static void main(String[] args){ String[] colors = new String[]{"red","yellow","blue"}; String[] letters = new String[]{"A","B","C"}; List<String> colorList = Arrays.asList(colors); List<String> letterList = Arrays.asList(letters); for(String i : colorList){ for(String j : letterList) System.out.println(i + j); } } }执行的结果是:
redA
redB
redC
yellowA
yellowB
yellowC
blueA
blueB
blueC
3.分析
无法使用for-each的情况(适合使用迭代器for)
-需要删除指定元素
-需要使用索引
-需要平行迭代
相关文章推荐
- java下udp的DatagramSocket 发送与接收
- 002 Spring Restful案例
- 20150906 深入理解JVM之入门笔记
- java基础复习 - 自动装箱
- 初识JAVA
- Java序列化
- Java 反射机制浅析
- struts2(三)---struts2中的服务端数据验证框架validate
- struts2(三)---struts2中的服务端数据验证框架validate
- Eclipse导入Android项目步骤
- eclipse格式化代码快捷键无效与搜狗输入法莫名变为繁体
- Java中的Serializable浅谈,只是浅谈
- Spring MVC + Hibernate + Maven: Crud操作示例
- Spring之ContextLoaderListener的作用
- 我是菜鸟:java数据库操作基本知识
- 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
- JAVA随笔(一)
- MyBatis学习总结——Mybatis3.x与Spring4.x整合
- SSM框架—详细整合教程(Spring+SpringMVC+MyBatis)
- 谈谈我所理解的Hibernate