替换所有出现的Java向量指定元素
这 Java.util.Collections类的replaceAll()方法用于将列表中一个指定值的所有出现替换为另一个。更正式地,用 newVal 替换列表中的每个元素 e,使得 (oldVal==null ? e==null : oldVal.equals(e))。 (此方法对列表的大小没有影响。)
让我们考虑以下向量:
现在在这个向量中,我们必须用给定的值替换所有出现的 5。假设这里的值为 -1。替换后我们的向量应该变成如下图所示:
方法:
解决这个问题的一种天真的方法是遍历整个向量,如果向量中的元素等于指定元素,则遍历时将其替换为给定值。
但是,在Java中,我们有一个内置方法 replaceAll()作为Java Collections 的一部分执行相同的操作。
句法:
public static boolean
replaceAll(List list, T oldVal, T newVal)
参数:此方法将以下参数作为参数
- list –要发生替换的列表。
- oldVal –要替换的旧值。
- newVal –要替换 oldVal 的新值。
返回值:如果列表包含一个或多个元素 e 使得 (oldVal==null ? e==null : oldVal.equals(e)),则此方法返回true 。
代码:
Java
// Java program to replace all occurrences
// of Specified Element of Java Vector
import java.io.*;
import java.util.Vector;
import java.util.Collections;
class GFG {
public static void main (String[] args)
{
// Create a vector
Vector storage =new Vector(6);
// adding elements to the vector
storage.add(5);
storage.add(6);
storage.add(8);
storage.add(5);
storage.add(9);
storage.add(1);
storage.add(5);
storage.add(2);
// val to replace with
int val=-1;
// printing the vector before replacing
System.out.println("Vector before Replacing is: " + storage);
// using Collections.replaceAll to replace all occurrences of the element
Collections.replaceAll(storage,5,val);
//printing the vector after replacing
System.out.println("Vector after Replacing is: " + storage);
}
}
Java
// Java program to replace all occurrences
// of Specified Element of Java Vector
import java.io.*;
import java.util.Vector;
import java.util.Collections;
class GFG {
public static void main (String[] args) {
// Create a vector
Vector storage =new Vector(6);
// adding elements to the vector
storage.add("CAT");
storage.add("DOG");
storage.add("CAT");
storage.add("HORSE");
storage.add("TIGER");
storage.add("CAT");
// val to replace with
String val="LION";
// printing the vector before replacing
System.out.println("Vector before Replacing is: " + storage);
// using Collections.replaceAll to replace all occurrences of specified element
Collections.replaceAll(storage,"CAT",val);
//printing the vector after replacing
System.out.println("Vector after Replacing is: " + storage);
}
}
输出
Vector before Replacing is: [5, 6, 8, 5, 9, 1, 5, 2]
Vector after Replacing is: [-1, 6, 8, -1, 9, 1, -1, 2]
现在让我们考虑一个具有字符串而不是整数值的向量:
现在在这个向量中,我们必须用给定的字符串替换所有出现的 CAT。假设这里的字符串是 LION。替换后我们的向量应该变成如下图所示:
代码:
Java
// Java program to replace all occurrences
// of Specified Element of Java Vector
import java.io.*;
import java.util.Vector;
import java.util.Collections;
class GFG {
public static void main (String[] args) {
// Create a vector
Vector storage =new Vector(6);
// adding elements to the vector
storage.add("CAT");
storage.add("DOG");
storage.add("CAT");
storage.add("HORSE");
storage.add("TIGER");
storage.add("CAT");
// val to replace with
String val="LION";
// printing the vector before replacing
System.out.println("Vector before Replacing is: " + storage);
// using Collections.replaceAll to replace all occurrences of specified element
Collections.replaceAll(storage,"CAT",val);
//printing the vector after replacing
System.out.println("Vector after Replacing is: " + storage);
}
}
输出
Vector before Replacing is: [CAT, DOG, CAT, HORSE, TIGER, CAT]
Vector after Replacing is: [LION, DOG, LION, HORSE, TIGER, LION]