java 要直接修改入参的集合 但是在代码内需要过滤取值 取完值之后要修改,怎样做可以简单的能够直接修改入参的集合
时间: 2024-04-07 07:28:00 浏览: 48
Java怎么在函数内改变传入的值
5星 · 资源好评率100%
在Java中,集合是对象,是以引用的方式传递的。因此,你可以在函数中直接操作集合对象,实现修改入参的集合。示例如下:
```java
public static void modifySet(Set<Integer> set) {
// 过滤取值
set.removeIf(x -> x % 2 != 0);
// 修改取到的值
for (Integer i : set) {
set.remove(i);
set.add(i + 1);
}
}
```
这里使用了Java 8的Lambda表达式和`removeIf`方法和`foreach`语句来实现过滤和修改操作。在函数调用结束后,入参的集合也会被修改。例如:
```java
Set<Integer> set = new HashSet<>(Arrays.asList(1, 2, 3, 4));
modifySet(set);
System.out.println(set); // 输出:[3, 5]
```
需要注意的是,如果你在函数中重新对入参的集合进行赋值,那么它将引用一个新的对象,而不是修改原来的对象。因此,你需要直接对原始集合对象进行修改操作。
阅读全文