当前位置: 首页 > 科技观察

一篇文章带你了解ListIterator接口

时间:2023-03-16 14:07:24 科技观察

一、ListIterator接口(一)我们之前了解过Iterator对象迭代器,它提供了hasNext()方法来判断集合中是否有下一个可遍历的元素,以及如果有元素没有遍历,则返回true;否则,返回假。还有一个next()方法返回集合中的下一个元素,这两个方法都可以遍历集合的元素。ListIterator迭代器是Iterator的子类,在父类的基础上增加了一些方法。(2)ListIterator方法如下:1.voidadd(Objecto)方法:将指定元素插入到列表中。2.booleanhasPrevious()方法:如果列表被反向遍历,列表有多个元素,则返回true。3.Objectprevious()方法:返回列表中的前一个元素。4.voidremove()方法:删除列表中next()方法或previous()方法返回的最后一个元素。2、ListIterator接口voidadd(Objecto)方法,booleanhasPrevious()方法(1)voidadd(Objecto)方法将指定元素插入到列表中。(2)如果booleanhasPrevious()方法反向遍历列表,且列表有多个元素,则返回true。(3)实例的实现:importjava.util.ArrayList;importjava.util.ListIterator;publicclasst4{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubArrayListal=newArrayList();al.add("a");al.add("b");al.add("c");System.out.println(al);//获取ListIterator对象ListIteratorit=al.listIterator(al.size());//判断这个对象是否存在前一个元素while(it.hasPrevious()){System.out.println(it.hasPrevious());if(it.hasPrevious()==true){break;}}}}运行结果为:3.ListIteratorInterfaceObjectprevious()方法,voidremove()方法(1)Objectprevious()方法返回列表中的前一个元素。(2)voidremove()方法:删除列表中next()方法或previous()方法返回的最后一个元素。(3)实例的实现:importjava.util.ArrayList;importjava.util.ListIterator;publicclasst4{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubArrayListal=newArrayList();al.add("a");al.add("b");al.add("c");al.add("d");al.add("e");System.out.println("集合中的所有元素:"+al);//获取ListIterator对象ListIteratorit=al.listIterator(al.size());//判断这个对象是否有前一个元素while(it.hasPrevious()){Objecto=it.previous();//ObjectofPreviouselement//获取打印对象的元素System.out.print(o+"\t");//remove()方法if(o.equals("c")){it.remove();}}System.out.println("\n删除一个元素,收集所有元素:"+al);}}运行结果为:4.经典算法题1.一个球从100米的高度自由落下,每次落地都会弹回原高度的一半,球又会落下。编写程序计算小球第n次落地后一共走了多少米?当n=10时,经过的米数。代码的实现:publicclasst8{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubdoublehigh=100;doublesum=100;for(inti=2;i<=10;i++){high=high/2;sum+=2*high;}System.out.println("n=10,通过的米数为:"+sum);}}运行结果为:5.总结本文主要介绍ListIterator接口和ListIterator接口voidadd(Objecto)方法,booleanhasPrevious()方法,ListIterator接口Objectprevious()方法,voidremove()方法,经典算法。介绍ListIterator接口的方法,通过例子帮助理解。希望大家通过本文的学习对大家有所帮助!本文转载自微信公众号《Java进阶学习交流》,可通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。