シングルトンリストを作成する方法はいくつかありますが、以下にいくつかの例を示します。
- 静的フィールドを使用する方法:
public class SingletonList {
private static final List<String> instance = new ArrayList<>();
private SingletonList() {}
public static List<String> getInstance() {
return instance;
}
}
上記の例では、instance
という名前の静的なArrayList
を持つSingletonList
クラスを作成しています。getInstance()
メソッドを使用して、シングルトンリストのインスタンスにアクセスします。
- 初回アクセス時にインスタンスを生成する方法:
public class SingletonList {
private static List<String> instance;
private SingletonList() {}
public static List<String> getInstance() {
if (instance == null) {
instance = new ArrayList<>();
}
return instance;
}
}
上記の例では、getInstance()
メソッド内で初回アクセス時にのみインスタンスを生成し、その後は生成済みのインスタンスを返します。
- ダブルチェックロッキングを使用する方法:
public class SingletonList {
private static volatile List<String> instance;
private SingletonList() {}
public static List<String> getInstance() {
if (instance == null) {
synchronized (SingletonList.class) {
if (instance == null) {
instance = new ArrayList<>();
}
}
}
return instance;
}
}
上記の例では、ダブルチェックロッキングを使用してスレッドセーフなシングルトンリストを作成しています。volatile
キーワードを使用してインスタンスの可視性を保証し、同期化ブロック内でのみインスタンスを生成します。
これらはいくつかの一般的な方法ですが、シングルトンリストを作成するための他の方法もあります。選択する方法は、アプリケーションの要件や制約によって異なる場合があります。
以上が、Javaでシングルトンリストを作成する方法についての解説です。これらの例を参考にして、プロジェクトに最適な方法を選択してください。