Java使用Lambda表达式遍历Iterator迭代器
2年前 (2024-04-26)
Java 8 为 Iterator 引入了一个 forEachRemaining(Consumer action) 默认方法,该方法所需的 Consumer 参数同样也是函数式接口。当程序调用 Iterator 的 forEachRemaining(Consumer action) 遍历元素时,程序会依次将元素传给 Consumer 的 accept(T t) 方法(该接口中的抽象方法)。
java.util.function 中的 Function、Supplier、Consumer、Predicate 和其他函数式接口被广泛用在支持 Lambda 表达式的 API 中。“void accept(T t);”是 Consumer 的核心方法,用来对给定的参数 T 执行定义操作。
如下程序示范了使用 Lambda 表达式来遍历元素。
public class IteratorEach {
public static void main(String[] args) {
// 创建一个
Collection objs = new HashSet();
objs.add("C语言中文网Java教程");
objs.add("C语言中文网C语言教程");
objs.add("C语言中文网C++教程");
// 获取objs对应的迭代器
Iterator it = objs.iterator();
// 使用Lambda表达式(目标类型是Comsumer)来遍历元素
it.forEachRemaining(obj -> System.out.println("迭代元素:" + obj));
}
}
输出结果为:
迭代元素:C语言中文网C++教程
迭代元素:C语言中文网C语言教程
迭代元素:C语言中文网Java教程
上面程序中第 11 行代码调用了 Iterator 的 forEachRemaining() 方法来遍历元素,传给该方法的参数是一个 Lambda 表达式,该 Lambda 表达式的目标类型是 Consumer,因此上面代码也可用于遍历元素。
- 随机文章
- 中国 马尔代夫 特使(中国派马尔代夫新任特使,意在加强两国友谊)
- 马尔代夫视频转场(马尔代夫风光无限,美妙视频带你穿越 50字以内)
- 南昌人的马尔代夫(南昌夫妇在马尔代夫度假走失,已获救)
- 养马岛马尔代夫店(养马岛马尔代夫店重装开业,等你来!)
- 杨洋 马尔代夫(杨洋游赏马尔代夫美景)
- 兰溪 马尔代夫(兰溪惊现马尔代夫!——)
- 马尔代夫鲨鱼游玩(浮潜嘉年华!玩转马尔代夫海中鲨鱼)
- 赤道 马尔代夫(赤道下最美天堂——马尔代夫)
- 成都 直飞 马尔代夫(成都直飞马尔代夫大促销,特价机票抢购中!)
- 东方马尔代夫烟台(东方马尔代夫来到烟台,开启烟台之旅)
- 木鱼马尔代夫出海(马尔代夫出海探险:迎接木鱼游泳之旅)
- 舒淇马尔代夫现状(舒淇马尔代夫之行:了解该地旅游现状)
- 武汉马尔代夫飞机(直飞马尔代夫!武汉开通首班直航航班)
- 济宁 马尔代夫(济宁市民能够在马尔代夫度假了!)
- 躁动南极马尔代夫(南极和马尔代夫遭遇气候变化双重威胁)
- 美国马尔代夫宾馆(美国策划在马尔代夫建宾馆,引发关注)
- 赞美马尔代夫文苑(马尔代夫文学艺术之美,令人赞叹不已)
- 虎航 马尔代夫(虎航开启马尔代夫航线,预定价格优惠!)
- 马尔代夫中文价格(马尔代夫中文报价,让你畅游印度洋!)
- 马尔代夫丁字泳衣(马尔代夫流行的丁泳衣是什么样子的?)
- 深圳南山马尔代夫(深圳南山将推出马尔代夫风情主题公园)
- 马尔代夫世界排名(马尔代夫荣登全球最佳旅游目的地榜首)
- 马尔代夫公司税号(马尔代夫公司税号查询及申请流程解析)
- 马尔代夫中途停机(马尔代夫航班需中途停靠进行技术检修)
- 河南鲁山马尔代夫(河南鲁山打造马尔代夫式浪漫旅游胜地)
- 法国情侣马尔代夫(法国情侣在马尔代夫度假期间不幸溺亡)
- 四川 马尔代夫(重返大自然,邂逅水下世界:四川打造的仿马尔代夫旅游新地标)
- 马尔代夫其他小岛(马尔代夫未知小岛:探索更多秘境之旅)
- 风景比马尔代夫美(大海拥抱下的梦幻岛屿,美到令人窒息)
- 马尔代夫华人城市(马尔代夫唯一华人城市:马累的中国城)
