黑马程序员技术交流社区
标题:
我觉得集合烦的遍历用toArray就很方便了,干嘛还要弄个迭代器,那么难理解!还是我菜!
[打印本页]
作者:
铜雀台
时间:
2016-9-10 01:06
标题:
我觉得集合烦的遍历用toArray就很方便了,干嘛还要弄个迭代器,那么难理解!还是我菜!
我觉得集合烦的遍历用toArray就很方便了,干嘛还要弄个迭代器,那么难理解!还是我菜!
作者:
jiubaK
时间:
2016-9-10 01:22
哟~漂亮妹子!必须回答下我的理解。
就拿ArrayList来说吧,其内部数据结构是数组,toArray方法是返回的内部数组的副本,也就不是原来存入的东西了!
[Java]
纯文本查看
复制代码
public Object[] toArray() {
return Arrays.copyOf(elementData, size);
}
上面是底层代码。
而且,由于是返回副本,就会用到更多的内存。
当我们要遍历数组,在某个条件下要删除遍历到的元素时,Iterator删除更快,因为它内部就是遍历到了该位置,调用删除方法即可,而用toArray遍历的话,在某个条件下要删除遍历到的元素,调用删除方法底层还要去找到该元素,然后再删除。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2