java中使用Stream改变list集合中的值
时间: 2024-03-05 21:48:41 浏览: 116
使用Java 8中的Stream API可以很方便地对List集合中的元素进行修改。
例如,我们有一个List集合存储了一些整数,现在想要将每个元素加上1,可以使用如下代码:
```
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> modifiedList = list.stream()
.map(i -> i + 1)
.collect(Collectors.toList());
```
上述代码中,我们使用了stream()方法将List集合转换为Stream流,然后使用map()方法对每个元素进行加1操作,最后使用collect()方法将修改后的流转换为List集合并保存到modifiedList中。
如果想要直接修改原始的List集合中的元素,可以使用如下代码:
```
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
list.replaceAll(i -> i + 1);
```
上述代码中,我们使用了List的replaceAll()方法,该方法接受一个UnaryOperator函数作为参数,该函数用于对每个元素进行修改。在本例中,我们使用lambda表达式 i -> i + 1 表示对每个元素加1操作。执行完replaceAll()方法后,原始的List集合中的元素值会被修改。
阅读全文