含雪幸福

导航

 

jdk8中的forEach使用return执行下一次遍历

在使用foreach()处理集合时不能使用break和continue这两个方法,

也就是说不能按照普通的for循环遍历集合时那样根据条件来中止遍历,

而如果要实现在普通for循环中的效果时,可以使用return来达到,

也就是说如果你在一个方法的lambda表达式中使用return时,这个方法是不会返回的,而只是执行下一次遍历,看如下代码:

 

 1 List<String> list = new ArrayList<String>();
 2 list.add("1");
 3 list.add("2");
 4 list.add("3");
 5 
 6 list.forEach(str -> {
 7     System.out.println(str);
 8     if (str.equals("1")) {
 9         return;
10     }
11 
12     System.out.println("hello");
13 });

运行结果如下:

1 1
2 2
3 hello
4 3
5 hello

可以看出,此处return起到的作用和普通for循环中的continue是相同的。

 

转发: https://blog.csdn.net/b68b00/article/details/75504271?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.vipsorttest&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.vipsorttest

 

posted on 2021-05-10 15:25  含雪幸福  阅读(1196)  评论(0编辑  收藏  举报
 
/*生成博客目录的CSS*/ #uprightsideBar{ font-size:12px; font-family:Arial, Helvetica, sans-serif; text-align:left; position:fixed;/*将div的位置固定到距离top:50px,right:0px的位置,这样div就会处在最右边的位置,距离顶部50px*/ top:50px; right:0px; width: auto; height: auto; } #sideBarTab{ float:left; width:30px; border:1px solid #e5e5e5; border-right:none; text-align:center; background:#ffffff; } #sideBarContents{ float:left; overflow:auto; overflow-x:hidden;!important; width:200px; min-height:108px; max-height:460px; border:1px solid #e5e5e5; border-right:none; background:#ffffff; } #sideBarContents dl{ margin:0; padding:0; } #sideBarContents dt{ margin-top:5px; margin-left:5px; } #sideBarContents dd, dt { cursor: pointer; } #sideBarContents dd:hover, dt:hover { color:#A7995A; } #sideBarContents dd{ margin-left:20px; }