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?
public void AnalyseArray(ArrayList<Integer> array) {
// Do something
}
...
ArrayList<Integer> A = new ArrayList<Integer>();
AnalyseArray(A);
答案已经发布,但请注意,这将通过引用传递 ArrayList。因此,如果您对函数中的列表进行任何更改,它也会影响到原始列表。
<access-modfier> <returnType> AnalyseArray(ArrayList<Integer> list)
{
//analyse the list
//return value
}
像这样称呼它:
x=AnalyseArray(list);
或传递 ArrayList 的副本:
x=AnalyseArray(list.clone());
将其定义为
<return type> AnalyzeArray(ArrayList<Integer> list) {
这取决于您声明数组列表的方式和位置。如果它是与您的 AnalyseArray() 方法相同的类中的实例变量,则不必传递它。该方法将知道该列表,您可以简单地将 A 用于您需要的任何目的。
如果他们彼此不认识,例如,使用局部变量或在不同的类中声明,请定义您的 AnalyseArray() 方法需要一个 ArrayList 参数
public void AnalyseArray(ArrayList<Integer> theList){}
然后在该方法中使用 theList 。但是不要忘记在调用方法时实际传递它。AnalyseArray(A);
PS:一些可能对变量和参数有用的信息。