使用Lambda表达式遍历Iterator迭代器
Java 8 為 Iterator 引入了一個(gè) forEachRemaining(Consumer action) 默認(rèn)方法,該方法所需的 Consumer 參數(shù)同樣也是函數(shù)式接口。當(dāng)程序調(diào)用 Iterator 的 forEachRemaining(Consumer action) 遍歷集合元素時(shí),程序會(huì)依次將集合元素傳給 Consumer 的 accept(T t) 方法(該接口中唯一的抽象方法)。
java.util.function 中的 Function、Supplier、Consumer、Predicate 和其他函數(shù)式接口被廣泛用在支持 Lambda 表達(dá)式的 API 中。“void accept(T t);”是 Consumer 的核心方法,用來(lái)對(duì)給定的參數(shù) T 執(zhí)行定義操作。
使用 Lambda 表達(dá)式來(lái)遍歷集合元素。
public class IteratorEach {public static void main(String[] args) {// 創(chuàng)建一個(gè)集合Collection objs = new HashSet();objs.add("百度Java教程");objs.add("百度C語(yǔ)言教程");objs.add("百度C++教程");// 獲取objs集合對(duì)應(yīng)的迭代器Iterator it = objs.iterator();// 使用Lambda表達(dá)式(目標(biāo)類(lèi)型是Comsumer)來(lái)遍歷集合元素it.forEachRemaining(obj -> System.out.println("迭代集合元素:" + obj));} }輸出結(jié)果為:
迭代集合元素:百度C++教程 迭代集合元素:百度C語(yǔ)言教程 迭代集合元素:百度Java教程上面程序中第 11 行代碼調(diào)用了 Iterator 的 forEachRemaining() 方法來(lái)遍歷集合元素,傳給該方法的參數(shù)是一個(gè) Lambda 表達(dá)式,該 Lambda 表達(dá)式的目標(biāo)類(lèi)型是 Consumer,因此上面代碼也可用于遍歷集合元素。
總結(jié)
以上是生活随笔為你收集整理的使用Lambda表达式遍历Iterator迭代器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数组差集
- 下一篇: Spring目录结构和基础JAR包介绍