有2个疑问?
1:不要修改在执行某项流操作后会将元素返回到流中的集合。所有的集合不都是对他进行某项流操作后就会将元素返回到流中吗?
2:流不会收集他们的数据,数据总是在单独的集合中。上面第一条写明对集合进行某项修改操作后会将元素返回到流中,这个不是有点矛盾,流不存储数据怎么集合在被流操作修改后还能返回元素到流中?
3:第一张图说如果修改了这样的集合流操作的结果就是未定义的,对应到图2,这个forEach为啥不能这样写?为啥修改集合了流操作结果就是未定义的?
有2个疑问?
1:不要修改在执行某项流操作后会将元素返回到流中的集合。所有的集合不都是对他进行某项流操作后就会将元素返回到流中吗?
2:流不会收集他们的数据,数据总是在单独的集合中。上面第一条写明对集合进行某项修改操作后会将元素返回到流中,这个不是有点矛盾,流不存储数据怎么集合在被流操作修改后还能返回元素到流中?
3:第一张图说如果修改了这样的集合流操作的结果就是未定义的,对应到图2,这个forEach为啥不能这样写?为啥修改集合了流操作结果就是未定义的?
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
前面说的啥意思我没看懂 不过这个foreach会错跟前面半毛钱关系没有,foreach方法需要你传一个consumer ,consumer接口如下 你的表达式里写给if语句当然呀要报错了
你可以这样写
我觉得实际上我们不应该在foreach中去修改这个集合,对于一个集合进行stream一系列操作后我们可以得到一个新的集合,避免原来的数据还需要使用的时候没有办法。