簡體   English   中英

同時調用方法時如何向arrayList添加元素?

[英]How to add an element to arrayList when calling the method at the same time?

我正在做一個遞歸程序,我想連續兩次調用一個方法,如下所示:

print(ArrayList<Integer> current + arr[0], Arrays.copyOfRange(arr, 1, arr.length) );
print(ArrayList<Integer> current, Arrays.copyOfRange(arr, 1, arr.length));

但是不可能像這樣向ArrayList添加值。 但是,我也不能在外面使用current.add(),因為它會弄亂我的第二個電話。 那么有沒有一種方法可以在調用方法時向arrayList添加值,還是我必須考慮另一種方式來編寫代碼?

您可以像下面這樣重載打印方法:

public void print(ArrayList<Integer> current, int i, int[] arr ) {
    //print whatever you want
    //then add using current.add(i)
    current.add(i)
}

然后像這樣第一次調用重載的print()方法:

print(current, arr[0], arr);

您可以使用以下代碼來實現

print(new ArrayList<Integer>(current) {{ add(arr[0]); }},
      Arrays.copyOfRange(arr, 1, arr.length) );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM