📜  使用Java ListIterator 替换 ArrayList 中的元素

📅  最后修改于: 2022-05-13 01:55:10.605000             🧑  作者: Mango

使用Java ListIterator 替换 ArrayList 中的元素

要替换 ArrayList 中的元素,可以使用 ListIterator 接口的set()方法。 ListIterator 的set()方法替换next() 或 previous()方法返回的最后一个元素以及给定的元素。

使用 ListIterator 替换元素的两种方法如下所示:

  1. 替换第一个元素
  2. 替换最后一个元素

替换第一个元素:

方法

  • 创建一个 ArrayList
ArrayList list = new ArrayList();

list.add(9);
list.add(11);
list.add(12);
list.add(13);
list.add(14);
list.add(15):
  • 假设我们需要用10 替换列表的第一个元素 9。首先,我们将使用 ListIterator 并使用 next() 方法返回列表中的下一个元素。
ListIterator iterator = list.listIterator();

iterator.next();
  • 现在,使用 set() 方法替换 List 中的元素。在这里,我们将替换迭代器的第一个元素,该元素可以被任何指定的值替换(在我们的例子中,我们需要用10替换它)。
iterator.set(10);
Java
// 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 list = new ArrayList();
        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 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);
            
        }
    }
}


Java
// 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 name = new ArrayList<>();
        name.add("Yash");
        name.add("Akash");
        name.add("Amar");
        name.add("Abhishek");
        name.add("Rajnikanth");
  
        ListIterator 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...
9
11
12
13
14
15
After replacing...
10
11
12
13
14
15

替换最后一个元素:

方法

  • 使用与上述相同的方法,ArrayList 任何位置的任何元素都可以替换为任何值。
  • 创建一个名称的 ArrayList 并向其添加一些名称 -
ArrayList name = new ArrayList<>();

name.add("Yash");
name.add("Akash");
name.add("Amar");
name.add("Abhishek");
name.add("Rajnikanth");
  • 让我们假设我们需要用“ Mohit ”替换“ Rajnikanth ”。
  • 现在,使用 ListIterator,我们将迭代到列表的最后一个元素,然后替换它——
ListIterator iterator = name.listIterator();
while(iterator.hasNext())
{
    iterator.next();    
}

iterator.set("Mohit");

Java

// 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 name = new ArrayList<>();
        name.add("Yash");
        name.add("Akash");
        name.add("Amar");
        name.add("Abhishek");
        name.add("Rajnikanth");
  
        ListIterator 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