Java で ArrayList を返す

Mohd Ebad Naqvi 2023年10月12日
  1. Java の非静的関数から ArrayList を返す
  2. Java の静的関数から ArrayList を返す
Java で ArrayList を返す

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() は静的ではありません。したがって、ClassAClassB のインスタンスを作成する必要があります。これで、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 のオブジェクトを作成せずに、classAclassB から関数を参照しました。

関連記事 - Java ArrayList