これを効果的な方法で行うための「最良の」方法は、次のとおりです。
List<MyClass> list = new ArrayList<MyClass>();
list.add(new MyClass("name", "address", 23));
list.add(new MyClass("name2", "address2", 45));
多くのタイピングが必要ですが、はっきりとわかるように、これはより効率的です
別の代替手段は、google guavaを使用することです (効率についてはテストされていません)。
ArrayList<MyClass> list = new ArrayList<MyClass>(
new MyClass("name", "address", 23),
new MyClass("name2", "address2", 45) );
必要なインポートはimport static com.google.common.collect.Lists.newArrayList;
また、@ Rohit Jain によって最初に提案されたように、二重中括弧の初期化を使用できます。
List<MyClass> list = new ArrayList<MyClass>() {
{
add(new MyClass("name", "address", 23));
add(new MyClass("name2", "address2", 45));
}
};
ご覧のとおり、はブロックのinner braces
ようなもので、一度にを初期化するために使用されます。initializer
list
末尾のセミコロンに注意してくださいdouble-braces
ここで説明したように、最後の方法にはいくつかの欠点があることにも注意してください。