1,ListIterator接口与Itreator接口的区别。
2,使用限制。
定义如下:
public interface ListIterator<E>extends Iterator<E>
常用方法:
虽然此接口可以实现双向输出,但是collection接口并没有为此类定义实例化的操作。
只要List接口中才存在ListIterator接口的实例化操作。
范例:完成双向输出:
package 类集; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class test1{ public static void main(String args[]){ List<String> all = new ArrayList<String>() ; all.add("hello") ; all.add("_") ; all.add("world") ; ListIterator<String> iter = all.listIterator() ; System.out.print("由前向后输出:") ; while(iter.hasNext()){ String str = iter.next() ; System.out.print(str + "、") ; } System.out.print("\n由后向前输出:") ; while(iter.hasPrevious()){ String str = iter.previous() ; System.out.print(str + "、") ; } } };
输出结果;
由前向后输出:hello、_、world、
由后向前输出:world、_、hello、
但是,这个一定要注意一个事情:
一定要先由前到后,之后才能进行有后到前操作。反过来就不行!这点要注意。
使用ListIterator接口还可以进行增加和替换操作。
add();
set();
package 类集; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class test1{ public static void main(String args[]){ List<String> all = new ArrayList<String>() ; all.add("hello") ; all.add("_") ; all.add("world") ; ListIterator<String> iter = all.listIterator() ; System.out.print("由前向后输出:") ; while(iter.hasNext()){ String str = iter.next() ; System.out.print(str + "、") ; iter.set("LI - " + str) ; // 修改内容 } System.out.print("\n由后向前输出:") ; iter.add("LXH"); while(iter.hasPrevious()){ String str = iter.previous() ; System.out.print(str + "、") ; } } };
输出结果:
由前向后输出:hello、_、world、
由后向前输出:LXH、LI - world、LI - _、LI - hello、
总结:
如果要想使用ListIterator接口,必须通过List接口完成。
2,如果要想进行双向输出,只能先进先由前到后,再由后到前