Die „besten“ Weg zu tun Dies würde in einer effektiven Weise zu sein:
List<MyClass> list = new ArrayList<MyClass>();
list.add(new MyClass("name", "address", 23));
list.add(new MyClass("name2", "address2", 45));
obwohl es eine Menge Eingabe erfordert, aber wie Sie können deutlich sehen, das ist mehr efficient
Eine weitere Alternative Google zu verwenden wäre guava (nicht auf seine Effizienz geprüft):
ArrayList<MyClass> list = new ArrayList<MyClass>(
new MyClass("name", "address", 23),
new MyClass("name2", "address2", 45));
Die erforderliche Import ist import static com.google.common.collect.Lists.newArrayList;
auch, können Sie doppelte Klammern Initialisierung verwenden, wie ursprünglich von @Rohit Jain vorgeschlagen: -
List<MyClass> list = new ArrayList<MyClass>() {
{
add(new MyClass("name", "address", 23));
add(new MyClass("name2", "address2", 45));
}
};
Wie Sie das sehen können, inner braces
ist wie ein initializer
Block, der die list
in einem Rutsch zu initialisieren verwendet wird ..
Note der Semikolon am Ende Ihres double-braces
auch die letzte Methode, beachten Sie einige Nachteile hat, wie here diskutiert .
Klassen in Java sollten wie 'MyClass' benannt sein. –