Iterator和List的一些问题

1、iterator是有remove方法的,并且在使用iterator的过程中,不能自行调用collection的增删改方法
而可以利用iterator的remove方法来删除。
2、list就是一个表, ArrayList是一个单链表, LinkedList是一个双链表;
3、
 add(T value)add(T value,index)get(index)remove增强for
ArrayListO(1)O(N)O(1)NN
LinkedListO(1)O(1)O(N)NN
说明两者都直接从表的末尾插入,所以是线性时间。array在前端添加是一个O(N)操作,需要把整体向后移动link对get的操作是O(N)的时间  
 
4、使用Iterator遍历的过程中,调用 iterator的remove方法是非常高效的。
     但是这个remove方法,移除的是当前next方法指向的元素位置。所以在使用前,应该掉用过next方法。
5、ListIterator方法:add方法的插入位置,根据next和previous来确定。相当于不会直接在末尾插入了,可以选择性插入。
 

转载于:https://www.cnblogs.com/anzhi/p/7447705.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值