LinkedList方法总结 ListIterator和Iterator的区别

LinkedList也像ArrayList一样实现了基本的接口,但是它执行某些从操作时比ArrayList更高效,但在随机访问方面要逊色一些。LinkedList中有一些方法虽然名字不同,但可以完成相同的操作,实现相同的功能,其中:

1、getFirst()和element()完全一样,它们都返回列表的头(第一个元素),并且不移除它,若List为空,则抛出NoSunchElementException。 peek()方法也是不移除且返回列表的第一个元素,不同之处是List为空时返回null。

2、remove()和removeFirst()也是一样的,移除并返回列表的第一个元素,若列表为空,抛出NoSunchElementException。poll()也是移除并返回列表的第一个元素,若列表为空,返回null。

3、addFirst()、add()、addLast()相同,它们都将某个元素插入到列表的尾部。

4、removeLast()移除并返回列表的最后一个元素。

ListIterator和Iterator的区别

1、迭代器指向的位置是元素之前的位置。

当使用语句Iterator it=List.Iterator()时,迭代器it指向的位置是Iterator1指向的位置,当执行语句it.next()之后,迭代器指向的位置后移到Iterator2指向的位置。

二者的不同之处:

1、使用范围不同,iterator可以应用于所有的集合,Set、List和Map以及这些集合的子类型。而ListIterator只能用于List及其子类型。

2、ListIterator有add方法,可以向List中添加对象,而Iterator不能。

3、ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向遍历,但是iterator不可以。

4、ListIterator可以定位当前索引的位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。

5、都可以实现删除操作,但是ListIterator可以实现对象的修改,set()方法可以实现。Iterator仅能遍历,不能实现修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值