Iterator和ListIterator的区别
admin
2023-01-21 08:00:59
0

Iterator和ListIterator主要区别有:
一、ListIterator有add()方法,可以向List中添加对象,而Iterator不能。

二、ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历。但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。也就是说Iterator是单向的,而ListIterator是双向的。IListIterator继承自Iterator。

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

四、都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iterator仅能遍历,不能修改。因为ListIterator的这些功能,可以实现对LinkedList等List数据结构的操作。

先看一个Iterator的例子:
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorDemo02{
public static void main(String[] args){
List ls = new ArrayList();
ls.add("c");
ls.add("c");
ls.add("");
ls.add("c");
Iterator it = ls.iterator();
while(it.hasNext()){
if("
".equals(it.next())){
it.remove();
}
}
System.out.println(ls);
}
}
ListIterator的例子:
使用LsitIterator的时候要注意两点:1.List 接口中有listIterator方法 ,要想使用ListIterator只能利用List接口实现2. 如果想输出有后向前必须先进行有钱向后

import java.util.List;
import java.util.ArrayList;
import java.util.ListIterator;
public class ListIteratorDemo01{
public static void main(String[] args){
List ls = new ArrayList(); //List 接口中有listIterator方法 ,要想使用ListIterator只能利用List接口实现
ls.add("c");
ls.add("c");
ls.add("_");
ls.add("c");
ListIterator it = ls.listIterator();
System.out.println("有钱向后遍历:");
while(it.hasNext()){
String str = it.next();
System.out.print(str+" ");
}
System.out.println("由后向前遍历:"); //如果想输出有后向前必须先进行有钱向后
while(it.hasPrevious()){
String str = it.previous();
System.out.print(str+" ");
}

}  

}

相关内容

热门资讯

还在点火?特朗普批准,美企或在... 美国《华尔街日报》7月22日报道,据美国官员透露,美国总统特朗普已正式批准与沙特阿拉伯达成一项具有里...
基本建成交通强国将取得决定性进... 新华社北京7月21日电 题:基本建成交通强国将取得决定性进展——国新办发布会聚焦“十五五”时期交通运...
台防务部门呼吁通过所谓无人机条... 7月22日上午,国台办举行例行新闻发布会。记者:据报道,台防务部门负责人近日称,呼吁通过行政部门无人...
英媒:为什么世界更相信中国而不... 当下西方世界深陷信任危机,民众对体制普遍失望愤怒。美国全球公信力持续崩塌,多国对华信任度已反超美国。...
“台青e家”平台上线运行,国台... 7月22日,国务院台办举行例行新闻发布会。有记者问:在海峡两岸青年文化月活动期间,国务院台办主任宋涛...
视频丨从“有学上”到“上好学”... 教育强国,基点在基础教育。我国拥有43万所中小学幼儿园、2.2亿在校生、1577万专任教师,建成了世...
“看到这几张脸生理性厌恶!”你... 近期,“对AI脸感到不适”相关话题接连冲上社交平台热搜。打开短视频平台刷微短剧,连续刷几部后,主角个...
今年上半年全国城镇新增就业69... 今天(22日)上午,人力资源社会保障部举行新闻发布会。今年上半年,全国城镇新增就业695万人,同比持...
委内瑞拉强震遇难人数升至534... 当地时间21日,委内瑞拉全国代表大会主席豪尔赫·罗德里格斯通过社交媒体通报,该国6月24日两次强震造...
高考684分花3000元咨询进... 潮新闻客户端 青年特约评论员 曾耀湘图源:视觉中国近日,据齐鲁晚报报道,河北一名2018级考生,因“...