6、set(E e):用指定元素替换 next 或 previous 返回的最后一个元素。只有在最后一次调用 next 或 previous 后既没有调用 ListIterator.remove 也没有调用 ListIterator.add 时才可以进行该调用。
以下是一个简单的实例方法:
/**
* 初始化集合元素的方法
* @param linkedList
*/
public void initLinkedList(LinkedList linkedList){
linkedList.add("C");
linkedList.add("B");
linkedList.add("X");
}
/**
* 使用正向迭代出集合中的元素
* @param listIterator 链表迭代器
*/
public void iteratornext(ListIterator listIterator){
while(listIterator.hasNext()){
System.out.print(listIterator.next().toString()+" ");
}
System.out.println();
}
/**
* 使用反向迭代出集合中的元素
* @param listIterator 链表迭代器
*/
public void iteratorPrevious(ListIterator listIterator){
//使用链表迭代器的方法反向迭代出集合中的元素 此时元素的顺序为:A X B C
while(listIterator.hasPrevious()){
System.out.print(listIterator.previous()+" ");
}
System.out.println();
}
/**
* 使用链表迭代器向指定的元素位置添加新的元素
* @param listIterator 链表迭代器
* @param item 指定的元素
* @param newItem 需要添加的新元素
* @return
*/
public void addItem(ListIterator listIterator,String item,String newItem){
while(listIterator.hasNext()){
String str = listIterator.next();
if(str.equals(item)){
listIterator.add(newItem);
}
}
}
/**
* 使用链表迭代器将指定的元素替换成信息元素
* @param listIterator 链表迭代器
* @param item 要替换的元素
* @param newItem 替换后的新元素
* @return
*/
public void updateItem(ListIterator listIterator,String item,String newItem){
while(listIterator.hasNext()){
String str = listIterator.next();
if(str.equals(item)){
listIterator.set(newItem);
}
}
}
public static void main(String[] args) {
ListIteratorDemo demo = new ListIteratorDemo();
//声明一个链表对象
LinkedList linkedList = new LinkedList();
demo.initLinkedList(linkedList);
//strList.listIterator()调用该方法返回一个链表迭代器对象
ListIterator listIterator = linkedList.listIterator();
//正向迭代出集合中的元素对象
demo.iteratornext(listIterator);
//使用迭代器的Add()方法想集合中添加元素,添加元素的位置为集合的末尾
listIterator.add("A");
//反向迭代出集合中的元素
demo.iteratorPrevious(listIterator);
//在集合的B元素后添加H元素
demo.addItem(listIterator, "B", "H");
for(int i=0;i