集合遍历操作:Iterator迭代器接口

  • 1.内部的方法:hasNext()和next()
  • 2.集合对象每次调用iterator()方法都得到一个全新的迭代器对象
  • 默认游标都在集合的第一个元素之前
  • 3.内部定义了remove(),可以在遍历的时候,删除集合中的元素,此方法不同于集合中的remove()

遍历集合中的元素

//遍历集合中的元素
		Iterator iterator = coll.iterator();
		while(iterator.hasNext()) {
   
			//next():①指针下移 ②将下移以后集合位置上的元素返回
			System.out.println(iterator.next());
		}

错误方法

		//错误方法一:
		Iterator iterator = coll.iterator();
		while(iterator.next()!=null) {
   
			//next():①指针下移 ②将下移以后集合位置上的元素返回
			System.out.println(iterator.next());
		}
		//错误方法二:
		//集合对象每次调用iterator()方法都得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前
		while(iterator.hasNext()) {
   
			System.out.println(coll.iterator().next());
		}

测试Iterator中的remove()

//测试Iterator中的remove()
		Iterator iterator = coll.iterator();
		while(iterator.hasNext()) {
   
// iterator.remove();
			Object obj = iterator.next();
			if("Tom".equals(obj)) {
   
				iterator.remove();
			}
		}

使用 foreach 循环遍历集合元素

//for(集合元素的类型 局部变量: 集合对象)
		//内部仍然调用了迭代器
		for(Object obj:coll) {
   
			System.out.println(obj);
		}
		//for(集合元素的类型 局部变量: 数组对象)
		int [] arr = new int [] {
   1,2,3,4,5,6};
		for(int i:arr) {
   
			System.out.println(i);
		}

来找错误!

	String[] arr = new String[]= {
   "AA"};
		//方式一:普通for赋值
		for(int i=0;i<arr.length;i++)
		{
   
			arr[i]="BB";
		}
		//方式二:增强for循环
		for(String s:arr) {
   
			s="BB";
		}
		for(int i=0;i<arr.length;i++)
		{
   
			System.out.println(arr[i]);
		}