public Object[] toArray() { // 转成数组,同时考虑到在执行该方法时,有其他线程删除Collection中元素和向Collection插入数据的情况 Object[] r = new Object[size()]; Iterator& ...
public Object[] toArray() { // 转成数组,同时考虑到在执行该方法时,有其他线程删除Collection中元素和向Collection插入数据的情况 Object[] r = new Object[size()]; Iterator<E> it = iterator(); for (int i = 0; i < r.length; i++) { if (! it.hasNext()) // 在当前线程调用该方法时,另外的线程调用this.remove或者iterator.remove return Arrays.copyOf(r, i); //返回数组的长度为i,也就是实际大小 r[i] = it.next(); }//将执行toArray的结果写入传递过来的参数中
public <T> T[] toArray(T[] a) { for (int i = 0; i < r.length; i++) {
原标题:java.util源码之AbstractCollection(基于jdk1.7)
关键词:JAVA
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。