java的lambda表达式中的foreach循环属于增强for循环吗 10
1个回答
展开全部
lambda单独一个集合遍历确实比普通的for要来的高效, 但是如果你要嵌套foreach的话效率就会变低。而且你在外部定义一个变量的时候,在lambda中如果有使用会强制变成一个常量(就是给变量加了一个final)。实际上foreach就是开了一个线程帮你处理循环。
比如你现在要遍历两个集合,他们之间互不相关,代码上只是先后顺序,那这时候分别使用lambda的foreach就会高效;反之这两个集合如果相互关联,你在一个集合的foreach中嵌套另一个集合的foreach,效率实际上不及你普通的for循环,嵌套越多效率甚至比普通的for嵌套效率更低。
虽然是开了线程,但是同步的,因此不用担心在之后的代码中使用的该集合是未经foreach的处理的。
比如你现在要遍历两个集合,他们之间互不相关,代码上只是先后顺序,那这时候分别使用lambda的foreach就会高效;反之这两个集合如果相互关联,你在一个集合的foreach中嵌套另一个集合的foreach,效率实际上不及你普通的for循环,嵌套越多效率甚至比普通的for嵌套效率更低。
虽然是开了线程,但是同步的,因此不用担心在之后的代码中使用的该集合是未经foreach的处理的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询