使用Lambda表达式遍历集合

182 阅读1分钟

知识点

Iterable.forEach(Consumer action)是在Java 8中新增的方法,Consumer类型是函数式,所以传参时可以用Lambda表达式,同时Iterable是Collection的父接口,所以Collection及其子实现接口都可以使用此方法。

在使用forEach函数遍历集合元素时,会将元素依次传给Consumer的accept(T t)(该接口中唯一的抽象方法)方法,所以使用此函数可以非常方便的遍历集合元素。

public class CollectionEach { 
    public static void main(String[] args) { 
        // create collection var persons = new HashSet(); 
        persons.add("Geekmister"); persons.add("Codeflyer"); 
        // call forEach 
        persons.forEach(obj -> {System.out.println("元素" + obj)}); 
        // function body can another write persons.forEach(obj -> {System.out.println("元素" + obj)}); 
    } 
}

扩展知识点

1、什么是Lambda表达式?

Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。

2、什么是Consumer类型?

Java 8 中新增的函数式类型。