📅  最后修改于: 2023-12-03 15:22:18.703000             🧑  作者: Mango
在Java中,ArrayList是一种常用的动态数组,它可以自动扩展大小并支持快速随机访问元素。有时候,我们需要在ArrayList中替换某个元素。Java ListIterator是一种更加灵活和功能更强大的遍历ArrayList的方式,它提供了更多的操作方法,可以在遍历时方便地添加、删除和替换元素。
下面是使用Java ListIterator替换ArrayList中的元素的步骤:
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("pear");
ListIterator<String> iterator = list.listIterator();
String oldElement = "";
while(iterator.hasNext()) {
String element = iterator.next();
if(element.equals("orange")) {
oldElement = element;
break;
}
}
iterator.set("grape");
// 在当前元素之前插入一个新元素
iterator.add("watermelon");
// 删除上一个元素
iterator.previous();
iterator.remove();
// 修改当前元素
iterator.set("kiwi");
完整代码会如下所示:
import java.util.ArrayList;
import java.util.ListIterator;
public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("pear");
ListIterator<String> iterator = list.listIterator();
String oldElement = "";
while (iterator.hasNext()) {
String element = iterator.next();
if (element.equals("orange")) {
oldElement = element;
break;
}
}
iterator.set("grape");
// 在当前元素之前插入一个新元素
iterator.add("watermelon");
// 删除上一个元素
iterator.previous();
iterator.remove();
// 修改当前元素
iterator.set("kiwi");
System.out.println("Old element: " + oldElement);
System.out.println("New ArrayList: " + list);
}
}
输出如下:
Old element: orange
New ArrayList: [apple, banana, grape, watermelon, kiwi, pear]
Java ListIterator是一种强大的遍历ArrayList的方式,它提供了丰富的操作方法,使得在遍历时可以方便地添加、删除和修改元素,是一个非常实用的工具。在使用ListIterator时,需要注意的是,在修改过程中,添加、删除和修改操作应该都是通过ListIterator对象来完成的。