Java List inicializálás egy sorban

0 Comments

áttekintés

ebben a gyors bemutatóban megvizsgáljuk, hogyan lehet inicializálni a listát egysoros.

további olvasmányok:

gyűjtemények.emptyList () vs. Új lista példány

Ismerje meg a különbségeket a gyűjtemények.voidylist () és egy új listapéldány.,
bővebben →

Útmutató a Java ArrayList

Gyors gyakorlati útmutató ArrayList a Java
bővebben →

Létre egy Tömböt

létrehozhatunk egy Listát egy tömb. A tömb literáloknak köszönhetően egy sorban inicializálhatjuk őket:

bízhatunk abban, hogy a varargs mechanizmus kezeli a tömb létrehozását. Ezzel tömörebb és olvashatóbb kódot tudunk írni:

ennek a kódnak az eredménypéldánya implementálja a Listafelületet,de nem java.util.,ArrayList vagy LinkedList. Helyette, ez egy lista mögött az eredeti tömb, amelynek két következménye, hogy nézzük meg a többi ebben a szakaszban.

bár az osztály neve történetesen ArrayList, ez a java.util.Tömbök csomag.

2.1. Fix méret

az Eredménypéldány a tömbökből.az asList rögzített méretű lesz:

2.2. Közös Referencia

Az eredeti tömb, valamint a lista ugyanaz a hivatkozásokat, hogy az objektumok:

Létre egy Patak (Java 8)

könnyen átalakítani egy Patak hogy ilyen Gyűjtemény.,

ezért a patakok gyári módszereivel egy sorban hozhatunk létre és inicializálhatunk listákat:

itt meg kell jegyeznünk, hogy a gyűjtők.a toList () nem garantálja a visszaküldött lista pontos végrehajtását.

nincs általános szerződés a visszaküldött példány változékonyságáról, szerializálhatóságáról vagy menetbiztonságáról. Tehát a kód nem támaszkodhat ezen tulajdonságok bármelyikére.

egyes források kiemelik ezt az adatfolyamot.a(…).a collect (…) memóriája és teljesítményigénye nagyobb lehet, mint a Tömböké.asList ()., De szinte minden esetben, ez egy ilyen mikro-optimalizálás, hogy kevés a különbség.

gyári módszerek (Java 9)

JDK 9 számos kényelmes gyári módszert vezet be a gyűjteményekhez:

az egyik fontos részlet az, hogy a visszaküldött példányok megváltoztathatatlanok. Ezen túlmenően a gyári módszereknek számos előnye van a térhatékonyság és a menetbiztonság terén.

ezt a témát részletesebben tárgyaljuk ebben a cikkben.,

Double-Brace Inicialization

több helyen megtalálható a double-brace inicialization nevű módszer, amely így néz ki:

a “double-brace inicialization” név meglehetősen félrevezető. Míg a szintaxis tűnhet kompakt, elegáns, veszélyesen elrejti, hogy mi folyik a motorháztető alatt.

nincs valójában egy kettős zárójel szintaxis elem Java; ezek két blokk formázott szándékosan ily módon.

a külső zárójelekkel egy névtelen belső osztályt deklarálunk, amely az ArrayList alosztálya lesz., Ezen zárójelek belsejében deklarálhatjuk az alosztályunk részleteit.

mint általában, használhatunk például inicializáló blokkokat, innen származik a belső fogszabályozó pár.

ennek a szintaxisnak a rövidsége csábító. Azonban ez tekinthető anti-minta.

Ha többet szeretne megtudni a kettős zárójel inicializálásáról, nézze meg cikkünket itt.

következtetés

a Modern Java számos lehetőséget kínál egy gyűjtemény létrehozására egy sorban. Az általunk választott módszer szinte teljesen a személyes preferencia, nem pedig a technikai érvelés.,

fontos Elvitel az, hogy bár kecsesnek tűnik, az anonim belső osztály inicializálásának (más néven kettős zárójel) anti-mintája számos negatív mellékhatással jár.

mint mindig, a kód elérhető a GitHub-on.

Kezdje a tavaszi 5-ös és a tavaszi Boot 2-vel A Learn Spring tanfolyamon keresztül:

> >


Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük