将Arraylist作为函数的参数传递

Kri*_*ris 16 java arraylist

我有一个整数类型的arraylist.我把它创建为:

ArrayList<Integer> A = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)

现在,我想将它作为参数传递给函数AnalyseArray().

我怎样才能做到这一点?

Gar*_*ree 23

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

  • 为什么选择使用ArrayList而不是更通用的List来限制方法的用途? (2认同)
  • 该方法确实读取了AnalyseArray,因此它可以使用内部使用数组的内容.也许它在方法中所做的事情对get()方法的O很敏感,因此传递LinkedList会很糟糕. (2认同)

小智 5

答案已经发布,但请注意,这将通过引用传递ArrayList.因此,如果您对函数中的列表进行任何更改,它也会受到原始列表的影响.

<access-modfier> <returnType> AnalyseArray(ArrayList<Integer> list)
{
//analyse the list
//return value
}
Run Code Online (Sandbox Code Playgroud)

这样叫:

x=AnalyseArray(list);
Run Code Online (Sandbox Code Playgroud)

或传递ArrayList的副本:

x=AnalyseArray(list.clone());
Run Code Online (Sandbox Code Playgroud)