Chức năng
List.replaceAll(UnaryOperator áp dụng operation lên từng element, thay thế giá trị cũ bằng kết quả.
Ví dụ: Chuyển danh sách sang UPPERCASE
import java.util.ArrayList;
import java.util.function.UnaryOperator;
class Op implements UnaryOperator {
public String apply(String str) {
return str.toUpperCase();
}
}
public class Test {
public static void main(String[] args) throws CloneNotSupportedException {
ArrayList list = new ArrayList<>();
list.add("Java");
list.add("JavaScript");
list.add("CoffeeScript");
list.add("HBase");
list.add("OpenNLP");
System.out.println("Danh sách gốc: " + list);
list.replaceAll(new Op());
System.out.println("Sau replaceAll: " + list);
}
}
Kết quả
Danh sách gốc: [Java, JavaScript, CoffeeScript, HBase, OpenNLP]
Sau replaceAll: [JAVA, JAVASCRIPT, COFFEESCRIPT, HBASE, OPENNLP]
Dùng Lambda (Java 8+)
list.replaceAll(s -> s.toUpperCase());
// Hoặc method reference
list.replaceAll(String::toUpperCase);
Lưu ý
- Thay đổi in-place (mutate list gốc), không trả về list mới.
UnaryOperatorextendsFunction- input/output cùng type.- Khác với
Stream.map()tạo stream mới,replaceAllsửa trực tiếp list.