Jelenlegi hely

Utolsó változások

18.1. Kivételek elkapása vagy továbbengedése

A Java futtató rendszer megköveteli, hogy a metódus elkapja, vagy felsorolja az összes ellenőrzött kivételt, melyet a metódus eldobhat (másként fogalmazva a kivételt továbbengedi). Először is tekintsünk át néhány kifejezést.

Elkapás (catch)

A metódus elkaphat egy kivételt, ha rendelkezik ilyen típusú kivételek kezelőjével.

Továbbengedés (throws záradék)

A metódus a deklarációja throws záradékában írja le, hogy milyen kivételeket dobhat.

21.1.4 Map interfész

A Map olyan tároló, ami kulcs-érték párokat tartalmaz. A Map nem tud tárolni duplikált kulcsokat, egy kulcshoz csak egy érték rendelhető. A Map interfész:

21.1.3 A List interfész

A List egy rendezett Collection. A List duplikáltan is tartalmazhat elemeket. A Collection-ból örökölt metódusokon kívül a List interfész a következő lehetőségeket tartalmazza:

  • Pozíció szerinti elérés: Az elemek a listában betöltött helyük alapján is elérhetők.
  • Keresés: A megadott elemet kikeresi a listából, és visszaadja a pozícióját.
  • Bejárás: Az Iterator alapú szolgáltatások bővültek.
  • Részlista: Lehetővé tesz részlista műveleteket.

A List interfész:

21.1.2 A Set interfész

A Set egy speciális Collection, amely nem tartalmaz duplikált elemeket. A Set nem tartalmaz új metódust a Collection-tól örököltekhez képest. A Set a tartalmazott objektumok equals és a hashcode metódusát használja arra, hogy a többszörös tárolást kiszűrje. Két Set objektum akkor egyenlő, ha ugyanazon elemeket tartalmazzák. A Set interfész:

21.1. Interfészek

A gyűjtemény interfészek különböző típusú gyűjtemények leírását teszik lehetővé, amint az alábbi ábra mutatja. Ezek az interfészek lehetővé teszik a különböző gyűjtemény-reprezentációk egységes kezelését. A gyűjtemény interfészek a Gyűjtemény keretrendszer alapjainak tekinthetők.

Gyűjtemény interfészek

21. Gyűjtemények

A gyűjtemények (vagy más néven tárolók, konténerek, kollekciók) olyan típuskonstrukciós eszközök, melynek célja egy vagy több típusba tartozó objektumok memóriában történő összefoglaló jellegű tárolása, manipulálása és lekérdezése.

A gyűjtemény keretrendszer

A gyűjtemény keretrendszer (Java Collections Framework, JCF) egy egységes architektúra, ami a gyűjtemények használatára és manipulálására szolgál. A gyűjtemény keretrendszer tartalmazza:

15.4. Általános típusok használata az öröklésben

A fejezetben már korábban tárgyalt Cat osztálynak tekintsük a getLitter nevű metódusát, melynek visszatérési értéke egy Cat objektumokból álló gyűjtemény:

15.3. Általános metódusok definiálása és használata

Nem csak a típusokat, a metódusokat is paraméterezhetjük. A statikus és nem statikus metódusoknak épp úgy, ahogy a konstruktoroknak, lehet típus paraméterük.

A metódusok típus paraméter deklarálásának szintaxisa megegyezik az osztályoknál használt szintaxissal. A típusparaméter listát a kerek zárójelek közé kell helyezni, még a metódus visszatérési értékének típusa elé. Például a következő gyűjtemény osztály metódus feltölt egy <? super T> típusú listát T típusú objektumokkal:

15.1. Kapcsolatok az általános típusok között

Valószínűleg azt várjuk, hogy a Stack2<Object> a szülő típusa a Stack2<String>-nek, mert az Object szülője a String-nek. A valóságban nem létezik ilyen kapcsolat az általános típusok példányai között. A szülő-gyermek kapcsolat hiánya az általános típus példányai között nehézkessé teheti a többalakú (polimorf) eljárások megírását.

Tegyük fel, hogy szeretnénk megírni egy eljárást, ami kiírja egy gyűjteményben tárolt objektumokat az objektumok típusától függetlenül a konzolra.

Oldalak