Java 中的 Collections.replaceAll() 方法和 List.replaceAll() 方法

javaobject oriented programmingprogramming

Collections 接口的 replaceAll() 方法接受一个 List 对象,两个类型参数分别表示旧值和新值,用列表中的新值替换旧值。

示例

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ReplaceAllExample {
   public static void main(String args[]) {
      List<String> list = new ArrayList<String>();
      list.add("Java");
      list.add("Java Script");
      list.add("HBase");
      list.add("CoffeeScript");
      list.add("TypeScript");
      System.out.println("列表的内容:"+list);
      Collections.replaceAll(list, "Java", "JAVA");
      System.out.print("替换操作后列表的内容:\n"+list);
   }
}

输出

列表的内容:[Java, Java Script, HBase, CoffeeScript, TypeScript]
替换操作后的列表的内容:
[JAVA, Java Script, HBase, CoffeeScript, TypeScript]

List 接口的 replaceAll() 方法接受表示特定操作的 UnaryOperator 对象,对当前列表的所有元素执行指定的操作,并用结果值替换现有值。

示例

import java.util.ArrayList;
import java.util.function.UnaryOperator;
class Op implements UnaryOperator<String> {
   public String apply(String str) {
      return str.toUpperCase();
   }
}
public class Test {
   public static void main(String[] args) throws CloneNotSupportedException {
      ArrayList<String> list = new ArrayList<>();
      list.add("Java");
      list.add("JavaScript");
      list.add("CoffeeScript");
      list.add("HBase");
      list.add("OpenNLP");
      System.out.println("Contents of the list: "+list);
      list.replaceAll(new Op());
      System.out.println("Contents of the list after replace operation: \n"+list);
   }
}

输出

Contents of the list: [Java, JavaScript, CoffeeScript, HBase, OpenNLP]
Contents of the list after replace operation:
[JAVA, JAVASCRIPT, COFFEESCRIPT, HBASE, OPENNLP]

相关文章