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]