📅  最后修改于: 2023-12-03 15:16:34.541000             🧑  作者: Mango
在Java中,replaceAll()
方法是一个非常实用的方法,可以在集合中使用。该方法用于替换所有选定元素的值。它根据提供的函数接口参数来替换所有元素,并返回原始元素的新视图。
replaceAll()
方法的语法如下:
void replaceAll(UnaryOperator<E> operator)
其中,UnaryOperator<E>
是一个函数接口,它接收一个参数并返回一个结果。该参数类型和返回类型都必须是与集合元素类型相同的类型。
以下是一个replaceAll()
方法的示例,假设我们有一个List
集合,它包含一些数字,我们想将所有的偶数替换为它们的平方值。
List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
numbers.replaceAll(n -> n % 2 == 0 ? n * n : n);
System.out.println(numbers);
以上代码将输出:
[1, 4, 3, 16, 5, 36, 7, 64, 9, 100]
我们使用replaceAll()
方法和一个lambda表达式来替换所有偶数的平方值。如果数字是奇数,则用原始数字替换它。最后,我们打印修改后的List
。
replaceAll()
方法不会改变集合的大小,它只是替换每个元素的值。因此,当使用List
或Set
类型的集合时,确保不要添加或删除元素,否则可能导致ConcurrentModificationException
异常。