学习任务:

视频学习

foreach遍历测试

Lambda表达式遍历测试

使用foreach可认对实现了Iterabal接口的集合进行遍历,如下代码:

package com.pbteach.javase.oop.arraylist.test2;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Iterator迭代器测试
 * @author 攀博课堂(www.pbteach.com)
 *
 */
public class IteratorTest1 {
   //foreach可以对实现Iterable接口的集合进行遍历
	public static void testForeach(List<PbCourse> list) {
		System.out.println("========开始遍历==========");
		for (PbCourse course:list) {
			System.out.println(course);
		}
	}
	....

在Iterator中可通过default void forEachRemaining(Consumer<? super E> action) 方法传入Lambda表达式进行遍历.

ArrayList有一个public void forEach(Consumer<? super E> action)方法,传入lambda也可完成遍历。

如下代码:

package com.pbteach.javase.oop.arraylist.test2;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Iterator迭代器测试
 * @author 攀博课堂(www.pbteach.com)
 *
 */
public class IteratorTest1 {
	//通过Lambda表达式遍历
	public static void byLambda(List<PbCourse> list) {
		System.out.println("========开始遍历==========");
		Iterator<PbCourse> iterator = list.iterator();
		//传入一个Lambda表达式
		iterator.forEachRemaining(item->System.out.println(item));
		System.out.println("========开始遍历==========");
		//上边的代码也可以改为方法引用
		//上边的iterator对象已遍历到末尾,重新 遍历需要再构造一个迭代器对象
		iterator = list.iterator();
		iterator.forEachRemaining(System.out::println);
        //使用ArrayList的foreach方法遍历
        list.forEach(System.out::println);
	}
	....
提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题