Tudd Intuíció, előadás, a legfontosabb objektum típusok
7.2. Gyűjtemények, listák, iterátorokat
A Java tudott elterjedni, gyűjtemények (gyűjtemények) - „intelligens” tömbök dinamikusan változó hosszúságú, támogatja számos fontos további műveleteket képest tömbök. Az alapvető hierarchiája gyűjtemények java.util.AbstractCollection osztályban. (Általában a gyűjtő osztály nem köteles leszármazottja AbstractCollection - ez lehet bármilyen osztályt, amely megvalósítja a Collection interfész). Kulcs osztályok és interfészek a gyűjtemények:
- Beállítva, SortedSet felület; Hash-halmaz osztályok, TreeSet, EnumSet, LinkedHashSet - készlet (random vagy rendezett halmazok valamilyen módon nem ismétlődő elemeket);
- java.util.List felület; java osztályokat. AWT .List, ArrayList. Láncolt lista, Vector - listák (rendezett készletek elemekből lehet ismételni a különböző helyszíneken a lista);
- Térkép interfészek, SortedMap; osztály HashMap, hash. ConcurrentHashMap, Treemap, EnumMap, tulajdonságok - táblázatok (listái párok "név-érték").
Hozzáférés az elemek a kollekció általában nem lehet megtenni az index, mert nem minden gyűjtemény támogatja indexelemeket. Ez a funkció végzi egy speciális objektum - iterator (iterator). Minden kollekció saját gyűjteménye bejáró, hogy tudja, hogyan kell dolgozni vele, így az iterator be az alábbiak szerint:
Az iterátorok vannak a következő három módszer:
Példa transzformációs tömb a beszedési ciklust, és hozzáférést biztosít a elemeit ez a gyűjtemény alkalmazásával végezzük iterator:
logikai add (Object obj)
Hozzáadásához egy objektumot, hogy a gyűjtemény (a lista alján). True, ha sikeres kiegészítései - változások a gyűjtemény. Gyűjtemény nem teszik lehetővé a kiegészítéssel, hogy nem kompatibilis típus vagy elemei nem illő más okok miatt.
logikai addAll (Collection c)
Hozzátéve, hogy a tárgyak gyűjteménye más gyűjteményekből. Igazat ad vissza, ha sikeres add, hogy van, ha van hozzá legalább egy elemet.
Tisztítás gyűjtemény - eltávolítását belőle a kapcsolatot az összes tárgyak szerepelnek a gyűjteményben. Ebben az esetben a hivatkozott objektumok más elemeit a program nem törlődik a memóriából.
logikai tartalmaz (Object obj)
Igazat ad vissza, ha a gyűjtemény az objektum obj. Tesztelés végezzük váltakozva a hívást obj.equals (e) eljárás az elemek e. szerepelnek a gyűjteményben.
logikai containsAll (Collection c)
Igazat ad vissza, ha a gyűjtemény tartalmazza mindazokat az elemeket a gyűjtemény c.
Igazat ad vissza, ha a gyűjtemény üres, azaz nem tartalmaz olyan elemet.
Vissza egy referenciát a bejáró - az objektum, amely lehetővé teszi, hogy alternatív hozzáférést a gyűjtemény. Egy gyűjtemény engedjük, hogy tetszőleges számú iterátor objektumokat, beleértve - a különböző típusú. A folyamat során, akkor nézze meg a különböző elemek a gyűjtemény. Miután létrehozott egy bejáró mindig elejére mutat a gyűjtemény - hívja a next () metódus biztosítja a kapcsolatot a kezdeti eleme a gyűjtemény.
logikai eltávolítás (Object obj)
Ez eltávolítja a gyűjtemény az első, hogy megfeleljen az előfordulása obj. Megtalálása és eltávolítása végezték bejáró. Igazat ad vissza, ha a törlés sikerült, vagyis, ha a gyűjtemény megváltozott.
logikai removeAll (Collection c)
Ez eltávolítja a gyűjtemény összes elemét a gyűjtemény c. Igazat ad vissza, ha a törlés sikerült, vagyis, ha a gyűjtemény megváltozott.
logikai retainAll (Collection c)
A levelek gyűjteménye csak azok az azt alkotó elemek, amelyek egy részét a gyűjtemény c.