AbstractCollection中toArray()方法的疑惑

先看toArray()方法的源码: 首先创建了一个和该集合当前size大小一致的数组,然后以数组的长度为指标进行for循环向数组中添加元素(注意:并不是遍历迭代器哦)。为什么不是遍历迭代器? 1.如果有多个线程操作该集合,其中某个线程向集合中添加了元素,此时如果在迭代器的遍历中向数组中添加元素,则会抛出数组越界异常。 2.可能你会说,每次添加之前可以判断下r.length和size()的大小,si
相关文章
相关标签/搜索