June 24, 2017
Java遍历HashMap,Set, List, ArraryList 删除(remove)或者修改
遍历list的时候为什么不能修改呢?
具体语言实现不同,这里是一些语言无关的点
如果你在遍历时往数组增加数据,会导致遍历不完整(因为增加了新成员长度变了),或者死循环(因为总是有新的进去)
如果在遍历时删除数据,则会导致数组访问越界(因为长度缩短了,指针指向了一个已经标示为空的区域)
如果你只是在遍历时修改这个节点本身的数据,一般来说是安全的(当然需要看具体场景)
以下默认修改为 list 的 add/remove 操作
首先, java 里面有很多种 list :
java.util.ArrayList;
java.util.LinkedList;
java.util.Stack;
java.ut… Read More