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.

Kapcsolódó cikkek