Áttekintés gyűjtemények java (java gyűjtemények keret), programozás java, android
Gyűjtemények Java
Java Collections egyik pillére a Core Java. Ezeket használják szinte minden alkalmazás, így csak azt kell tudni használni a Java Collections Framework hatékonyan.
Mik azok a gyűjtemények?
Gyűjtemények - egy tartályt, az elemek egy csoportját alkotó egyetlen egész.
Például: a Bank of csokoládé, egy névsort, stb Gyűjtemények használják szinte minden programozási nyelv és a Java sem kivétel. Miután a gyűjtemény megjelent Java, ez csak néhány osztály: Vector, Stack, hash, Array. De Java 1.2 volt egy teljes értékű Java Collections Framework, amit ma találkozik.
Gyűjtemények Java több részből áll
Előnyei Java Collections Framework
A Java Collections Framework a következő előnyökkel jár:
- Ez kevesebb erőfeszítéssel. A keret számos közös típusú gyűjtemények és hasznos módszerek adatkezelési. Így tudunk összpontosítani az üzleti logika helyett a fejlesztés a API-t.
- Kiváló minőségű - használata jól bevált gyűjtemény fokozza a minőségi programot.
- Újrafelhasználás és kompatibilitás
gyűjtemények interfészek
Az interfészek alapján Java Collections Framework. Figyeljük meg, hogy minden interfész Generic, az ilyen nyilvános interfész Collection
Meg kell jegyezni, hogy a Java platform nem biztosít külön interfészeket minden típusú gyűjtemény. Ha bármely művelet nem támogatott, akkor a végrehajtása a gyűjtemény dob UnsupportedOperationException.
Röviden minden gyűjtemény
iterator interfész (iterator)
Iterátor eljárásokat biztosít iterációjával bármely gyűjteménye. Mi lehet szerezni egy példányt a bejáró a iterator módszerrel. Iterátorokat lehetővé teszi, hogy távolítsa el az elemeket a mögöttes gyűjtemény során iteráció.
Az interfész készlet (Set)
Egy sor olyan gyűjtemény, amely nem tartalmazhat ismétlődő elemeket. Ez az interfész jelentése matematikai absztrakció, hogy képviselje készletek formájában egy pakli kártya.
A Java platform három végrehajtási Set. Hash-halmaz, TreeSet és LinkedHashSet.I Interface Set nem teszi lehetővé véletlen elérésű gyűjteményünknek. Mi lehet használni bejáró vagy foreach ciklus segítségével navigálhat az elemek.
Interface List (Lista)
A lista rendezett halmaza elemek és tartalmazhat ismétlődő elemeket. Érheti semmilyen elemet index. List egy dinamikus tömb. A lista az egyik leggyakrabban használt típusok gyűjtemények. ArrayList és láncolt lista osztályok végrehajtása a List interfész.
Itt egy kis példa a használatára:
Interfész Queue (Queue)
Sor - egy szegmens tárolására használt több elem.
A várakozási sor jellemzően, de nem szükségszerűen, az elemek vannak elrendezve FIFO elv (z első-i n, f irst-o ut = Először, first out). A FIFO sor, minden új elemek vannak behelyezve a végén a sorban.
interfész Dequeue
Gyűjtemény Dequeue támasztóelem beillesztését és eltávolítását az elem elején és végén a gyűjtemény. Deque A név rövid a „dupla végű queue”, és általában hangsúlyos „deck”. A legtöbb implementáció DEQUE nem szab határt a tételek számát.
Az interfész meghatározza módszerek eléréséhez elemek végein a fedélzet. Találmány tárgyát képezik eljárások a beszúrás, törlés, extrakciós elem.
Térkép interfész
Térkép egy objektum, amely tartalmazza a kulcsokat és értékeket. Térkép nem tartalmazhat duplikált kulcs: Minden kulcs csak egyetlen értéket.
A Java platform három felismerések térkép: HashMap, Treemap és LinkedHashMap.
interfész ListIterator
ListIterator (a lista bejáró) lehetővé teszi a programozó, hogy helyezze a lista bármelyik irányba, a listát módosítani során iteráció és így a jelenlegi helyzetben a bejáró a listából.
interfész SortedSet
SortedSet halmaza, amelyben elemek vannak tárolva növekvő sorrendben.
interfész SortedMap
Osztályok végrehajtása Java gyűjtemények
Java Collections keretet ad egy csomó osztály végrehajtásával a gyűjtemény interfész. A leggyakrabban használt és a közös implementációk ArrayList. HashMap és Hash-halmaz. Általában megvalósító osztályoknak gyűjtemények nem szál biztonságos.
Később ebben a cikkben fogjuk megvitatni a leggyakrabban használt osztályok a Java Collections keretet.
Hash-halmaz osztály
Ez egy alapvető végrehajtása a felületen Set. amely alapján a HashMap.
Ez az osztály nyújtja ugyanannyi időt teljesítő alapműveleteket (hozzáadni, törölni. Tartalmaz és méret). Mi lehet beállítani a kezdeti kapacitás és terhelési tényező ebben a gyűjteményben.
osztály TreeSet
NavigableSet alapul Treemap. A elemek lehet elhelyezni a sorrendben vannak hozzá, vagy a segítségével a komparátor.
Ez a megvalósítás egy log (n) futási ideje az alapvető műveletek (hozzáadni, törölni, és tartalmazza).
ArrayList osztály
ArrayList - végrehajtása List interfész egy sor változó hosszúságú. Hajtja végre az összes műveletet a listából. Plusz, a ArrayList eljárásokat nyújt, hogy manipulálják az a tömb méretét, amely tárol a listán. (Ez az osztály nagyjából megfelel a vektor, de nem szinkronizált).
láncolt lista osztály
Láncolt lista - végrehajtás listája és Deque felületek formájában kétszeresen láncolt lista. Ellátja mindazokat a további műveleteket a listára.
osztály HashMap
HashMap egy megvalósítása a Map interfész. Ez a megvalósítás biztosítja az összes további műveleteket, és lehetővé teszi térkép értéke nulla, és a kulcsokat a null értéket. Osztály HashMap nagyjából azonos hash. kivéve azt, hogy nincs szinkronizálva, és lehetővé teszi, hogy null. Ez az osztály nem garantálja a szabályos elhelyezése elemekkel.
osztály Treemap
Treemap egy piros-fekete fa alapján NavigableMap. Térkép szerint válogatjuk komparátor.
Ez a megvalósítás egy log (n) containsKey futtató műveletekhez, kap, tedd, és távolítsa el.
osztály PriorityQueue
A sorban elemek Doda FIFO sorrendben, de néha szeretnénk hozzáadni az elemeket alapján a prioritás. Ebben az esetben tudjuk használni PriorityQueue, miközben biztosítja a végrehajtás a komparátor PriorityQueue elemekkel. Meg kell jegyezni, hogy PriorityQueue nem teszi lehetővé, hogy tárolja null
Collections osztály
Ez az osztály kizárólag statikus módszerek, hogy a munka vagy vissza gyűjtemények. Ez tartalmazza polimorf algoritmusokat használnak, amikor dolgozik gyűjtemények.
Ez az osztály tartalmazza módszerek alapvető algoritmusok sollection keretet, azaz egy bináris keresési módszereket, válogatás, keverés, és az eljárás visszatér fordított sorrendben az elemek, és még sokan mások.
szinkronizált shell
Szinkronizált shell hozzá az automatikus szinkronizálás (thread-safe) egy adott gyűjtemény. Mind a hat fő pontok gyűjtése (Collection, Set, List, térkép, SortedSet. És SortedMap) egy statikus gyári eljárás szinkronizálást.