增强for和集合的四种遍历方式优缺点

增强for

增强for循环的格式
  for(数据大类型  变量名 : 数组或者集合对象名){
   输出变量
  }
  
 增强for的出现时替代迭代器的,所以在遍历集合或者遍历数组就可以使用增强for去完成
  
  增强for循环的弊端:如果集合的对象是null,如果再次对集合操作,就会出现异常

   对集合进行判断,非空判断解决

四种遍历方法:

1:迭代器  2:普通for循环   3:增强for循环   4:(非重点)listiterator(iterator的子接口)两者相类似

(还以一种Vector自带的elements()方法,类似于迭代器的遍历方法)

            如果结合为null,抛出:java.lang.NullPointerException
            当应用程序试图在需要对象的地方使用 null 时,抛出该异常
public class ForExercise {
	public static void main(String[] args) {
		ArrayList<String> array = new ArrayList<String>();
//		array=null;
		array.add("hello");
		array.add("java");
		array.add("worlid");
		// 迭代器遍历
		//优点:自带选择判断语句hasNext()方法,不会出现遍历数量出现错误,书写复杂
		//    可以对集合进行删除操作
		//缺点:该方法只能遍历集合,比较局限,且需要建立对象,占用空间1525835359078
		Iterator<String> it = array.iterator();
		while (it.hasNext()) {
			String s = it.next();
			System.out.println(s);
		}
		System.out.println("----------------");
		//普通for循环
		//优点:有判断数组长度的控制语句,并且可以选择遍历长度,
		//    for循环使用范围广,且使用简单
		//缺点:for循环更多适用于循环条件,不能对集合本身进行操作,对于集合遍历稍显不足
		for(int x=0;x<array.size();x++) {
			String s1 = array.get(x);
			System.out.println(s1);
		}
		System.out.println("-----------------");
		//增强for循环
		//优点:代码简单易读,书写方便
		//缺点:不能对集合本身进行操作
		for(String b:array) {
			System.out.println(b);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/qq_41923771/article/details/80273684