今天在摸鱼时候机油突然发图疑问
在一次日常的stream分组操作获取map后对原list进行操作,发现无法获取预想的数据。也就是说map获取的数据又问题。
后面我参与讨论这个问题时提出是否是因为map基于原list获取,在更改原list过程中也间接导致了map的数据变化,并提出将原list对象copy后,操作新对象的解决方法。下图是机油copy后重新操作新对象后获取到了预想中的数据。
通过这次遇到的问题猜测基于原list获取的map会随原list的变化而变化,以后业务中的操作需要注意基于原list获取的数据如果在获取后对原list进行操作也会间接对之前获取的数据产生影响最终导致数据有问题。