egy hatékony programozási nyelv, és támogatja a különféle adatstruktúrákat, hogy megkönnyítse a programozók életét. Ebben a cikkben megnézzük az egyik ilyen adatstruktúrát, a Java Queue-t. Ezekre a cikkekre összpontosít,
- Sor Java-ban
- Java várólista megvalósítása
- Módszerek Java várólistában
- Program a várakozási módszerek bemutatására
- Egy Java várólistán keresztül ismétlődik
Kezdjük akkor,
Sor Java-ban
A várakozási sor egy olyan adatszerkezet, amely a FIFO (First-In-First-Out) elvét követi, vagyis az elemeket a lista végére illesztik be, és a lista elejéről törlik. Ez az interfész a java.util.package fájlban érhető el, és kiterjeszti a Gyűjtemény felületet.
névtér használatával c ++
A Queue többféle módszert támogat, beleértve a beillesztést és a törlést. A java.util.package webhelyen elérhető sorok néven ismertek Korlátlan sorok , míg a java.util.concurrent csomagban jelenlévő sorok ismertek Korlátozott várólisták.
A Deques kivételével minden sor támogatja a végén történő beillesztést és az előlről történő törlést. A deques támogatja az elemek beillesztését és törlését mindkét végén.
Térjünk át a cikk következő témájára a Java Queue-on,
Java várólista megvalósítása
A várakozási felület használatához be kell állítanunk egy konkrét osztályt. Az alábbiakban bemutatjuk azokat a néhány megvalósítást, amelyek használhatók:
- util.LinkedList
- util.PriorityQueue
Mivel ezek a megvalósítások nem biztonságosak a szálak számára, a PriorityBlockingQueue a szál biztonságos megvalósításának alternatívájaként működik.
Példa:
Q1. Sor = új LinkedList ()
Q2. Sor = új PriorityQueue ()
Vegyünk egy lok néhány fontos Java Queue módszerrel,
Módszerek Java várólistában
- add (): Az add () metódust az elemek beszúrására használják a sor végén vagy végén. A módszer a Gyűjtemény felületről öröklődik.
- ajánlat(): Az ajánlat () metódus előnyösebb, mint az add () metódus, mivel a megadott elemet a kapacitáskorlátozások megsértése nélkül beszúrja a sorba.
- kandikál(): A peek () metódussal a sor elejét nézzük anélkül, hogy eltávolítanánk. Ha a sor üres, akkor null értéket ad vissza.
- elem(): Ha a sor üres, a metódus a NoSuchElementException parancsot dobja.
- eltávolítás (): Az remove () metódus eltávolítja a sor elejét és visszaadja azt. Dob a NoSuchElementException, ha a sor üres.
- közvélemény kutatás(): A poll () metódus eltávolítja a sor elejét és visszaadja. Ha a sor üres, akkor null értéket ad vissza.
A következő módszerek áttekintése a következő:
Művelet | Kivételt dob | Visszaadja az értéket |
Helyezze be | add (elem) | ajánlat (elem) |
Eltávolítás | eltávolítás () mi az a pufferelt olvasó | közvélemény kutatás() |
Megvizsgálni | elem() | kandikál() |
Vessünk egy pillantást a bemutatóra,
Program a várakozási módszerek bemutatására
import java.util. * public class Main {public static void main (String [] args) {// Nem hozhatunk létre várólistát, mivel ez egy interfész, ezért Q1 várólistát = új LinkedList () // Elemek hozzáadása ehhez: a Queue q1.add ('I') q1.add ('Love') q1.add ('Rock') q1.add ('And') q1.add ('Roll') System.out.println ('Elements a várólistában: '+ q1) / * * Elemeket eltávolíthatunk a várólistáról az remove () módszerrel, * ez eltávolítja az első elemet a sorból * / System.out.println (' Eltávolított elem: '+ q1.remove ( )) / * * element () metódus - ez adja vissza a * Queue fejét. * / System.out.println ('Head:' + q1.element ()) / * * poll () metódus - ez eltávolítja és visszaadja a sor * fejét. Nullát ad vissza, ha a várólista üres * / System.out.println ('poll ():' + q1.poll ()) / * * peek () metódus - ugyanúgy működik, mint az element () metódus, * azonban visszatér null, ha a várólista üres * / System.out.println ('peek ():' + q1.peek ()) // A Queue elemeinek megjelenítése System.out.println ('Elemek a sorban:' + q1)} }
Kimenet:
A várólista elemei: [én, szerelem, rock és tekercs]
Eltávolított elem: I
Fej: Szerelem
közvélemény-kutatás (): Szerelem
kukucskál (): Szikla
A várólista elemei: [Rock, And, Roll]. A fenti példában a Generic Queue-t használtuk.
Az ilyen típusú sorban korlátozhatjuk a sorba illesztett objektum típusát. Példánkban csak karakterlánc-példányokat illeszthetünk be a sorba.
Egy Java várólistán keresztül ismétlődik
A java-sor elemei a következő kód használatával ismételhetők:
Q1. Sor = új LinkedList ()
q1.add („Rock”)
q1.add („És”)
q1.add („Roll”)
// hozzáférés az Iteratoron keresztül
Iterátor iterátor = q1.iterátor ()
while (iterator.hasNext () {
Karakterlánc elem = (Karakterlánc) iterator.next ()
}
// hozzáférés új for-cikluson keresztül
for (Object object: q1) {
Karakterlánc elem = (Karakterlánc) objektum
}
Az elemek iterációjának sorrendje a sor végrehajtásától függ.
Bár a Java várólista többféle módszert képes megvalósítani, a legfontosabb módszereket itt tárgyaltuk.
Így a „Java Queue” című cikkünk végéhez értünk. Ha többet szeretne megtudni,nézd meg a Edureka, egy megbízható online tanulási társaság. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát arra tervezték, hogy mind az alapvető, mind a fejlett Java koncepciókra kiképezzen különféle Java keretrendszereket, például a Hibernate & Spring.
java várjon és értesítsen példát
Van egy kérdésünk? Kérjük, említse meg a blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.