Передайте Arraylist как аргумент функции

У меня есть arraylist A типа Integer. Я создал его как:

ArrayList<Integer> A = new ArrayList<Integer>();

Теперь я хочу передать его как аргумент функции AnalyseArray().

Как я могу это достичь?

Ответ 1

public void AnalyseArray(ArrayList<Integer> array) {
  // Do something
}
...
ArrayList<Integer> A = new ArrayList<Integer>();
AnalyseArray(A);

Ответ 2

Ответ уже отправлен, но обратите внимание, что это передаст ArrayList по ссылке. Поэтому, если вы внесете какие-либо изменения в список в функции, он также будет затронут и в исходном списке.

<access-modfier> <returnType> AnalyseArray(ArrayList<Integer> list)
{
//analyse the list
//return value
}

назовите его следующим образом:

x=AnalyseArray(list);

или передать копию ArrayList:

x=AnalyseArray(list.clone());

Ответ 3

Определите его как

<return type> AnalyzeArray(ArrayList<Integer> list) {

Ответ 4

Это зависит от того, как и где вы объявили список массивов. Если это переменная экземпляра в том же классе, что и ваш метод AnalyseArray(), вам не нужно передавать его. Метод будет знать список, и вы можете просто использовать A в любой цели, которая вам нужна.

Если они не знают друг друга, например, если вы используете локальную переменную или объявлены в другом классе, определите, что вашему методу AnalyseArray() нужен параметр ArrayList

public void AnalyseArray(ArrayList<Integer> theList){}

а затем работать с этим списком внутри этого метода. Но не забудьте на самом деле передать его при вызове метода. AnalyseArray(A);

PS: Некоторые могут быть полезны Информация для Переменные и parameters.