📅  最后修改于: 2023-12-03 14:42:46.426000             🧑  作者: Mango
CopyOnArrayList是Java并发包中提供的一种实现了CopyOnWrite机制的线程安全List。它的replaceAll()方法可以替换List中的所有元素,可以在并发环境中保证线程安全。
public void replaceAll(UnaryOperator<E> operator)
CopyOnArrayList中的replaceAll()方法会替换List中的每个元素,步骤如下:
下面是一个使用CopyOnArrayList replaceAll()方法的示例,它将List中所有元素转换为大写,并输出:
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.UnaryOperator;
public class ReplaceAllDemo {
public static void main(String[] args) {
// 创建CopyOnArrayList并添加元素
CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();
list.add("java");
list.add("copy");
list.add("on");
list.add("arraylist");
// 使用replaceAll方法将所有元素转换为大写
list.replaceAll(new UnaryOperator<String>() {
@Override
public String apply(String str) {
return str.toUpperCase();
}
});
// 遍历List并输出
for (String str : list) {
System.out.println(str);
}
}
}
输出结果为:
JAVA
COPY
ON
ARRAYLIST
可以看到,CopyOnArrayList的replaceAll方法确实将所有元素转换为大写。