er et stærkt programmeringssprog, og det understøtter forskellige datastrukturer for at gøre programmørernes liv let. I denne artikel vil vi se på en sådan datastruktur, der er Java-kø. Dette er pointerne, som denne artikel fokuserer på,
- Kø i Java
- Implementering af Java-kø
- Metoder i Java-kø
- Program til at demonstrere kømetoder
- Iterering gennem en Java-kø
Lad os komme i gang dengang,
Kø i Java
En kø er en datastruktur, der følger princippet om FIFO (First-In-First-Out), dvs. elementerne indsættes i slutningen af listen og slettes fra begyndelsen af listen. Denne grænseflade er tilgængelig i java.util.package og udvider Collection Interface.
Kø understøtter flere metoder, herunder indsættelse og sletning. Køerne i java.util.package er kendt som Ubegrænsede køer , mens køerne til stede i pakken java.util.concurrent er kendte er Afgrænsede køer.
Alle køer undtagen Deques understøtter indsættelse i slutningen og sletning forfra. Deques understøtter indsættelse og sletning af elementer i begge ender.
Lad os gå til det næste emne i denne artikel om Java-kø,
Implementering af Java-kø
For at kunne bruge køgrænsefladen er vi nødt til at starte en konkret klasse. Følgende er de få implementeringer, der kan bruges:
- util.LinkedList
- util.PriorityQueue
Da disse implementeringer ikke er trådsikre, fungerer PriorityBlockingQueue som et alternativ til trådsikker implementering.
Eksempel:
Kø q1 = ny LinkedList ()
Kø q2 = ny PriorityQue ()
Lad os tage et lok på nogle vigtige Java-kømetoder,
Metoder i Java-kø
- tilføje(): Metoden add () bruges til at indsætte elementer i slutningen eller i køens hale. Metoden nedarves fra samlingsgrænsefladen.
- tilbud(): Metoden offer () foretrækkes frem for metoden add (), da den indsætter det angivne element i køen uden at krænke kapacitetsbegrænsninger.
- kig (): Peek () -metoden bruges til at se forrest i køen uden at fjerne den. Hvis køen er tom, returnerer den en nulværdi.
- element(): Hvis køen er tom, kaster metoden NoSuchElementException.
- fjerne(): Metoden remove () fjerner fronten af køen og returnerer den. Kaster NoSuchElementException, hvis køen er tom.
- afstemning(): Poll () -metoden fjerner begyndelsen af køen og returnerer den. Hvis køen er tom, returnerer den en nulværdi.
En oversigt over følgende metoder gives som følger:
Operation | Kaster undtagelse | Returnerer værdi |
Indsæt sortering af et array c ++ | tilføj (element) | tilbud (element) |
Fjerne | fjerne() | afstemning() |
Undersøge | element() | kigge () |
Lad os se demonstrationen nu,
Program til at demonstrere kømetoder
import java.util. * public class Main {public static void main (String [] args) {// Vi kan ikke oprette forekomst af en kø, da det er en grænseflade, og derfor køer vi q1 = ny LinkedList () // Tilføjelse af elementer til køen q1.add ('I') q1.add ('Love') q1.add ('Rock') q1.add ('And') q1.add ('Roll') System.out.println ('Elements i kø: '+ q1) / * * Vi kan fjerne et element fra kø ved hjælp af remove () -metoden, * dette fjerner det første element fra køen * / System.out.println (' Fjernet element: '+ q1.remove ( )) / * * element () metode - dette returnerer hovedet på * køen. * / System.out.println ('Head:' + q1.element ()) / * * poll () metode - dette fjerner og returnerer * hovedet til køen. Returnerer nul, hvis køen er tom * / System.out.println ('poll ():' + q1.poll ()) / * * peek () -metoden - den fungerer som element () -metoden, * men den returnerer null hvis køen er tom * / System.out.println ('peek ():' + q1.peek ()) // Viser elementerne i Queue System.out.println ('Elements in Queue:' + q1)} }
Produktion:
Elementer i kø: [I, Love, Rock, And, Roll]
Fjernet element: I
Hoved: Kærlighed
afstemning (): Kærlighed
kig (): Rock
java forskel mellem hashmap og hashtable
Elementer i kø: [Rock, And, Roll]. I ovenstående eksempel er Generic Queue blevet brugt.
I denne kø kan vi begrænse typen af objekt indsat i køen. I vores eksempel kan vi kun indsætte strengforekomster i køen.
Iterering gennem en Java-kø
Elementer i en java-kø kan gentages ved hjælp af følgende kode:
Kø q1 = ny LinkedList ()
q1.add (“Rock”)
q1.add ('Og')
q1.add ('Roll')
// adgang via Iterator
Iterator iterator = q1.iterator ()
mens (iterator.hasNext () {
Strengelement = (Streng) iterator.next ()
}
// adgang via ny for-loop
for (Objektobjekt: q1) {
String element = (String) objekt
}
Den rækkefølge, som elementerne gentages, afhænger af implementeringen af køen.
Mens der er flere metoder, som en Java-kø kan implementere, er de vigtigste metoder blevet diskuteret her.
Således er vi nået til slutningen af denne artikel om 'Java-kø'. Hvis du ønsker at lære mere,tjek af Edureka, et pålideligt online læringsfirma. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.
Har du et spørgsmål til os? Nævn det i kommentarsektionen på denne blog, og vi vender tilbage til dig hurtigst muligt.