Java で ArrayList を返す
Mohd Ebad Naqvi
2023年10月12日
ArrayList は、java.util
パッケージのサイズ変更可能なクラスです。これはスケーラブルな配列です。つまり、配列のサイズはいつでも変更できます。ただし、使用に時間がかかる場合があります。
このチュートリアルでは、Java のクラス内の関数から ArrayList を返します。
Java の非静的関数から ArrayList を返す
あるサイズの ArrayList を作成して返す関数を使用します。この関数を別のクラスで呼び出そうとします。この関数は非静的であるため、呼び出すにはクラスのオブジェクトが必要になります。
次のコードでは、このような関数を作成します。
import java.util.ArrayList;
public class ClassA {
public static void main(String args[]) {
ClassB m1 = new ClassB();
List listInClassA = m1.myNumbers();
System.out.println("The List is " + listInClassA);
}
}
public class ClassB {
public ArrayList<Integer> myNumbers() {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(10);
numbers.add(15);
numbers.add(30);
return (numbers);
}
}
出力:
The List is [10, 15, 30]
関数 myNumbers()
は静的ではありません。したがって、ClassA
に ClassB
のインスタンスを作成する必要があります。これで、ClassB
の ArrayList メソッド myNumbers()
にアクセスできるようになります。
Java の静的関数から ArrayList を返す
静的関数は、それが属するクラスのオブジェクトを作成せずにアクセスまたは呼び出すことができます。
静的メソッドをその親クラスの外部から呼び出す場合は、その静的関数が定義されているクラスを指定する必要があります。
静的関数を操作しながら、コードを少し変更できます。
import java.util.ArrayList;
public class ClassA {
public static void main(String args[]) {
List listInClassA = classB.myNumbers();
System.out.println("The List is " + listInClassA);
}
}
public class ClassB {
public static ArrayList<Integer> myNumbers() {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(10);
numbers.add(15);
numbers.add(30);
return (numbers);
}
}
出力:
The List is [10, 15, 30]
上記の例では、classB
のオブジェクトを作成せずに、classA
の classB
から関数を参照しました。