Java ListIterator替换ArrayList中的一个元素
为了替换ArrayList中的一个元素,可以使用ListIterator接口的set()方法。ListIterator的set()方法可以替换由next()或previous()方法返回的最后一个元素,同时替换给定的元素。
使用ListIterator替换元素的两种方式如下所示。
1.更换第一要素
2.更换最后一个元素
替换第一元素。
步骤
- 创建一个数组列表
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(9);
list.add(11);
list.add(12);
list.add(13);
list.add(14);
list.add(15):
- 假设我们需要将列表中的第一个元素9替换成10。首先,我们将使用ListIterator,用next()方法返回List中的下一个元素。
ListIterator<Integer> iterator = list.listIterator();
iterator.next();
- 现在,使用set()方法替换列表中的元素。这里我们将替换迭代器的第一个元素,它可以被替换成任何指定的值(在我们的例子中,我们需要替换成10)。
iterator.set(10);
// Java program to replace an element
// from ArrayList using Java ListIterator
import java.util.ArrayList;
import java.util.ListIterator;
class GFG {
public static void main(String[] args)
{
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(9);
list.add(11);
list.add(12);
list.add(13);
list.add(14);
list.add(15);
System.out.println("Before Replacing...");
// Printing the original list
for (int i : list) {
System.out.println(i);
}
ListIterator<Integer> iterator = list.listIterator();
// Replacing the first element
iterator.next();
iterator.set(10);
System.out.println("After replacing...");
// Printing the list after replacement
for (int i : list) {
System.out.println(i);
}
}
}
输出
Before Replacing...
9
11
12
13
14
15
After replacing...
10
11
12
13
14
15
替换最后一个元素。
步骤
- 使用上述同样的方法,ArrayList中任何位置的任何元素,都可以被替换成任何值。
- 创建一个名字数组,并向其中添加一些名字 –
ArrayList<String> name = new ArrayList<>();
name.add("Yash");
name.add("Akash");
name.add("Amar");
name.add("Abhishek");
name.add("Rajnikanth");
- 让我们假设我们需要将 “Rajnikanth “替换为 “Mohit”。
- 现在,使用ListIterator,我们将迭代到列表的最后一个元素,然后替换它——。
ListIterator<String> iterator = name.listIterator();
while(iterator.hasNext())
{
iterator.next();
}
iterator.set("Mohit");
// java program to replace an element
// from ArrayList using Java ListIterator
import java.util.ArrayList;
import java.util.ListIterator;
class GFG {
public static void main(String[] args)
{
ArrayList<String> name = new ArrayList<>();
name.add("Yash");
name.add("Akash");
name.add("Amar");
name.add("Abhishek");
name.add("Rajnikanth");
ListIterator<String> iterator = name.listIterator();
System.out.println("Before Replacing...");
// Printing the original list
while (iterator.hasNext()) {
System.out.print(iterator.next()+" ");
}
// Simce the iterator was on last element
// so the set function used here will replace
// the last element
iterator.set("Mohit");
System.out.println();
System.out.println("After Replacing...");
for (String n : name) {
System.out.print(n+" ");
}
}
}
输出
Before Replacing...
Yash Akash Amar Abhishek Rajnikanth
After Replacing...
Yash Akash Amar Abhishek Mohit