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