使用foreach()处理集合时不能使用break和continue这两个方法,也就是说不能按照普通的for循环遍历集合时那样根据条件来中止遍历,而如果要实现在普通for循环中的效果时,可以使用return来达到,也就是说如果你在一个方法的lambda表达式中使用return时,这个方法是不会返回的,而只是执行下一次遍历
public void t1(){
List<String> list = Collections.EMPTY_LIST;
list = Arrays.asList("awg","weg","wweg","wegwe");
list.forEach(System.out::println);
list.forEach(str -> {
if("awg".equals(str)){
return;
}
System.out.println(str);
});
}
执行结果:
awg
weg
wweg
wegwe
weg
wweg
wegwe
另外lambda的foreach执行效率很低,不如增强for循环
本文探讨了在Java中使用foreach遍历集合时的限制,即不能使用break和continue语句,但可以通过return提前结束遍历。同时,对比了lambda表达式foreach与增强for循环的执行效率。
9415

被折叠的 条评论
为什么被折叠?



