java----for 与 for-each

来源:互联网 发布:淘宝补单靠谱吗? 编辑:程序博客网 时间:2024/05/17 05:50

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 ){ }


实例

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)

-需要删除指定元素

-需要使用索引

-需要平行迭代



0 0
原创粉丝点击