返回两个Arraylists或使用两种不同的方法

hat*_*ack 0 java performance arraylist set

如果我有方法

 public ArrayList<String> necessaryChanges(Set<Object> setToCheck ) {

 //checks to see whether each element of set is correct by comparing it to something
 // and if it needs to be changed its added to an arraylist to be returned to the user

     }
Run Code Online (Sandbox Code Playgroud)

我需要返回一个包含必要更改的列表,这很好.

但我也想修改setToCheck的变化.我知道你不能在一个方法中返回两个对象.我要问的是这样做最有效的方法是什么.

我知道我可以在主类中创建另一个方法并调用它来更改集合,但它似乎效率很低.

有没有更好的方法来做到这一点.

谢谢

WoD*_*oSc 5

如果修改方法setToCheck内部的对象necessaryChanges,则更改也将在该方法之外可见,因为在Java中,所有内容(排除原始类型,但不是您的情况)都作为参考传递.

所以基本上你不需要返回setToCheck对象:你可以简单地仍然使用它的方法调用后:它始终是同一个对象(内部和外部方法),为此它将包含了新的变化.