Java でオブジェクトの配列を作成する
- オブジェクトの配列を作成し、Java のコンストラクターを使用してオブジェクトを初期化する
-
オブジェクトの配列を作成し、Java で
{}配列表記を使用してコンストラクターを呼び出してオブジェクトを初期化する - Java で初期値を持つオブジェクトの配列を宣言する
この記事では、Java でオブジェクトの配列を作成するメソッドを紹介します。この記事では、オブジェクトのインスタンス化とその実装についても説明します。
オブジェクトの配列を作成し、Java のコンストラクターを使用してオブジェクトを初期化する
Java はオブジェクト指向プログラミング言語であり、クラスとオブジェクトで構成されています。Java の [] 配列表記を使用して、オブジェクトの配列を作成できます。コンストラクターを使用して、値を渡すことでオブジェクトを初期化できます。式の構文を以下に示します。
Type[] objectName = new ClassName[];
Type は、オブジェクトのタイプを示します。特定のデータ型またはクラス型の場合があります。タイプの後の [] 記号は、配列を作成しているのと似ています。オプション objectName は、オブジェクトの名前を参照します。new 演算子はインスタンスを作成します。ClassName は、オブジェクトが作成されたクラスの名前を指します。配列のサイズは、クラスの後の [] で指定できます。配列内のインデックスを使用して、各オブジェクトをインスタンス化できます。
たとえば、Customer という名前のクラスがあります。
- クラス
Storeを作成して、main メソッドを書き込みます。main メソッド内で、Customerタイプの配列arrを作成し、2つのCustomerクラスのオブジェクトにメモリを割り当てます。 - インデックス付き配列
arrからCustomerクラスの 2つのオブジェクトを作成します。 - オブジェクトの作成中に、最初のオブジェクトに値
709270とRobertを指定し、2 番目のオブジェクトに709219とNealを指定します。
これらの値は、Customer クラスのコンストラクターのパラメーターです。次に、作成したオブジェクトを使用して display() 関数を呼び出します。
Customer クラスには、パブリックプロパティ id と name が含まれています。クラスのコンストラクターは、これらのプロパティの値を設定します。パブリック関数 display() は、クラスのプロパティを表示します。以下の例では、オブジェクトは配列から作成され、コンストラクターはオブジェクトの作成中に呼び出されます。次に、オブジェクトが display() 関数を呼び出し、出力が表示されます。これまで、オブジェクトの配列を作成し、それをメソッドで使用する方法を学びました。
サンプルコード:
public class Store {
public static void main(String args[]) {
Customer[] arr = new Customer[2];
arr[0] = new Customer(709270, "Robert");
arr[1] = new Customer(709219, "Neal");
arr[0].display();
arr[1].display();
}
}
class Customer {
public int id;
public String name;
Customer(int id, String name) {
this.id = id;
this.name = name;
}
public void display() {
System.out.println("Customer id is: " + id + " "
+ "and Customer name is: " + name);
}
}
出力:
Customer id is: 709270 and Customer name is: Robert
Customer id is: 709219 and Customer name is: Neal
オブジェクトの配列を作成し、Java で {} 配列表記を使用してコンストラクターを呼び出してオブジェクトを初期化する
2 番目のメソッドでは、最初のメソッドで行ったようにオブジェクトの配列を作成します。つまり、コンストラクターを使用してオブジェクトをインスタンス化します。ただし、オブジェクトをインスタンス化するために単一行のアプローチを使用します。オブジェクトを保持する配列を作成するときに、コンストラクターを呼び出します。コンストラクター呼び出しは、{} 配列表記内の 1 行で記述できます。Store クラスに Customer クラスのオブジェクトを作成します。
たとえば、最初の方法のように配列 arr を作成します。ただし、オブジェクトにメモリを割り当てる代わりに、同じ行にオブジェクトを作成します。new Customer[] の後に配列 {} 表記を記述します。次に、new キーワードを使用して Customer クラスの 2つのオブジェクトを作成します。コンストラクターへのパラメーターとして、それぞれの id と name を指定します。各コンストラクター呼び出しを区切るには、コンマを使用します。
コード例:
public class Store {
public static void main(String args[]) {
Customer[] arr = new Customer[] {new Customer(709270, "Robert"), new Customer(709219, "Neal")};
arr[0].display();
arr[1].display();
}
}
class Customer {
public int id;
public String name;
Customer(int id, String name) {
this.id = id;
this.name = name;
}
public void display() {
System.out.println("Customer id is: " + id + " "
+ "and Customer name is: " + name);
}
}
出力:
Customer id is: 703270 and Customer name is: Sushant
Customer id is: 703219 and Customer name is: Simanta
Java で初期値を持つオブジェクトの配列を宣言する
Java でオブジェクトの配列を作成する 3 番目のメソッドでは、初期値を提供するオブジェクトの配列を宣言します。このアプローチでは、別のクラスオブジェクトを作成しません。したがって、このメソッドではコンストラクターは使用されません。配列 {} 表記を使用して、オブジェクトの配列を記述します。Object タイプを使用して、オブジェクトの配列を作成します。
たとえば、クラスを作成し、main メソッドを記述します。次に、Object タイプの配列 arr を作成します。{} 表記内にオブジェクトを記述します。オブジェクトは、CRF、文字列値、2020 の値を持つ Integer クラスのインスタンス、Husky 別の文字列、および値 2017 の Integer クラスの別のインスタンスです。最後に、配列インデックスメソッドを使用して各オブジェクトを出力します。
サンプルコード:
class Motorcycle {
public static void main(String args[]) {
Object[] arr = {"CRF", new Integer(2020), "Husky", new Integer(2017)};
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
}
}
出力:
CRF
2020
Husky
2017
関連記事 - Java Object
- Java でオブジェクトを JSON にシリアライズする
- XML を Java オブジェクトに解析
- Java でのデータアクセスオブジェクトの実装
- Java でオブジェクトを文字列にシリアル化
- Java でオブジェクトを Int に変換する
- Java でオブジェクトの配列を並べ替える