您的位置:首页 > 编程语言 > Java开发

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

实例

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)

-需要删除指定元素

-需要使用索引

-需要平行迭代
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: