18

I have an arraylist A of Integer type. I created it as:

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

Now, I want to pass it as an argument to function AnalyseArray().

How can I achieve this?

4

4 回答 4

27
public void AnalyseArray(ArrayList<Integer> array) {
  // Do something
}
...
ArrayList<Integer> A = new ArrayList<Integer>();
AnalyseArray(A);
于 2013-06-15T15:40:55.027 回答
5

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

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

像这样称呼它:

x=AnalyseArray(list);

或传递 ArrayList 的副本:

x=AnalyseArray(list.clone());
于 2013-06-15T15:45:27.377 回答
2

将其定义为

<return type> AnalyzeArray(ArrayList<Integer> list) {
于 2013-06-15T15:39:27.247 回答
0

这取决于您声明数组列表的方式和位置。如果它是与您的 AnalyseArray() 方法相同的类中的实例变量,则不必传递它。该方法将知道该列表,您可以简单地将 A 用于您需要的任何目的。

如果他们彼此不认识,例如,使用局部变量或在不同的类中声明,请定义您的 AnalyseArray() 方法需要一个 ArrayList 参数

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

然后在该方法中使用 theList 。但是不要忘记在调用方法时实际传递它。AnalyseArray(A);

PS:一些可能对变量参数有用的信息。

于 2013-06-15T15:47:38.350 回答