Java Queue: Lahat ng Kailangan Mong Malaman Tungkol sa Queue Sa Java



Sa artikulong ito ay kukuha kami ng isang tanyag na istraktura ng data ng Java na kilala bilang Java Queue. Gumagamit din kami ng angkop na mga halimbawa ng programmatic para sa mas mahusay na pag-unawa.

ay isang malakas na wika ng programa at sinusuportahan nito ang iba't ibang mga istruktura ng data upang gawing madali ang buhay ng mga programmer. Sa artikulong ito ay titingnan namin ang isang tulad ng istraktura ng data na ang Java Queue. Ito ang mga pahiwatig na nakatuon ang artikulong ito,

Magsimula tayo noon,





Pila sa Java

Ang pila ay isang istraktura ng data na sumusunod sa prinsipyo ng FIFO (First-In-First-Out) ibig sabihin, ang mga elemento ay naipasok sa dulo ng listahan, at tinanggal mula sa simula ng listahan. Ang interface na ito ay magagamit sa java.util.package at pinalawak ang Collection Interface.

Sinusuportahan ng pila ang maraming paraan, kabilang ang pagpapasok at pagtanggal. Ang mga pila na magagamit sa java.util.package ay kilala bilang Walang limitasyong mga Queue , habang ang mga pila na naroroon sa java.util.kasalukuyang package ay kilala ay May Bound Queues.



Ang lahat ng mga pila, maliban sa Deques, ay sumusuporta sa pagpapasok sa dulo at pagtanggal mula sa harap. Sinusuportahan ng Deques ang pagpapasok at pagtanggal ng mga elemento sa parehong dulo.

Lumipat tayo sa susunod na paksa ng artikulong ito sa Java Queue,

Pagpapatupad Ng pila ng Java

Upang magamit ang interface ng pila, kailangan naming patunayan ang isang kongkretong klase. Ang sumusunod ay ang ilang pagpapatupad na maaaring magamit:



  • util.LinkedList
  • util.PriorityQueue

Dahil ang mga pagpapatupad na ito ay hindi ligtas sa thread, ang PriorityBlockingQueue ay kumikilos bilang isang kahalili para sa ligtas na pagpapatupad ng thread.

Halimbawa:

Queue q1 = bagong LinkedList ()
Queue q2 = bagong PriorityQueue ()

Kumuha tayo ng lok sa ilang mahahalagang pamamaraan ng pila ng Java,

Mga Pamamaraan Sa pila ng Java

  • magdagdag (): Ginagamit ang paraan ng pagdaragdag () upang magsingit ng mga elemento sa dulo, o sa buntot ng pila. Ang pamamaraan ay minana mula sa interface ng Koleksyon.
  • alok (): Ang pamamaraan ng alok () ay lalong kanais-nais kaysa sa pagdaragdag () na paraan, dahil isiningit nito ang tinukoy na elemento sa pila nang hindi lumalabag sa anumang mga paghihigpit sa kapasidad.
  • silip(): Ang pamamaraang pagsilip () ay ginagamit upang tumingin sa harap ng pila nang hindi inaalis ito. Kung ang pila ay walang laman, magbabalik ito ng isang null na halaga.
  • elemento(): Kung ang pila ay walang laman, ang pamamaraan ay nagtatapon ng NoSuchElementException.
  • alisin (): Tinatanggal ng pamamaraang alisin () ang harap ng pila at ibabalik ito. Itapon ang NoSuchElementException kung ang pila ay walang laman.
  • poll (): Tinatanggal ng pamamaraang poll () ang simula ng pila at ibabalik ito. Kung ang pila ay walang laman, magbabalik ito ng isang null na halaga.

Ang isang pangkalahatang ideya ng mga sumusunod na pamamaraan ay ibinibigay tulad ng sumusunod:

Pagpapatakbo

Naghahagis ng Exception

Nagbabalik ng Halaga

Isingit

idagdag (elemento)

alok (elemento)

Tanggalin

alisin ()

poll ()

Suriin

elemento()

silip()

Tingnan natin ang demonstrasyon ngayon,

def __init __ (sarili)

Programa Upang Maipakita ang Mga Pamamaraan ng pila

import java.util. * pampublikong klase Pangunahing {public static void main (String [] args) {// Hindi kami makakalikha ng halimbawa ng isang Queue dahil ito ay isang interface, kaya't Nakapila kami ng Q1 = bagong LinkedList () // Pagdaragdag ng mga elemento sa ang Queue q1.add ('I') q1.add ('Love') q1.add ('Rock') q1.add ('And') q1.add ('Roll') System.out.println ('Elemento sa Queue: '+ q1) / * * Maaari naming alisin ang isang elemento mula sa Queue gamit ang alisin () na paraan, * aalisin nito ang unang elemento mula sa Queue * / System.out.println (' Naalis na elemento: '+ q1. alisin ( )) / * * element () na paraan - ibabalik nito ang ulo ng * Queue. * / System.out.println ('Head:' + q1.element ()) / * * pamamaraan ng poll () - aalisin at ibabalik nito ang * pinuno ng Queue. Ibabalik ang null kung ang pila ay walang laman * / System.out.println ('poll ():' + q1.poll ()) / * * silip () paraan ng pagsilip - gumagana ito katulad ng pamamaraang element (), * gayunpaman, bumalik ito null kung ang Queue ay walang laman * / System.out.println ('peek ():' + q1.peek ()) // Pagpapakita ng mga elemento ng Queue System.out.println ('Mga Elemento sa Queue:' + q1)} }

Output:

Mga Elemento sa pila: [Ako, Pag-ibig, Bato, At, Pagulong]

Inalis ang elemento: I

Ulo: Pag-ibig

poll (): Pag-ibig

silip (): Bato

Mga Elemento sa Queue: [Rock, At, Roll]. Sa halimbawa sa itaas, ginamit ang Generic Queue.

Sa ganitong uri ng pila, maaari nating limitahan ang uri ng bagay na ipinasok sa pila. Sa aming halimbawa, maaari lamang kaming may mga instance ng string na naipasok sa pila.

Iterating Through A Java Queue

Ang mga elemento sa isang pila ng java ay maaaring mai-ulit gamit ang sumusunod na code:

Queue q1 = bagong LinkedList ()

q1.add ('Bato')

q1.add ('At')

q1.add ('Roll')

// access sa pamamagitan ng Iterator

Iterator iterator = q1.iterator ()

paghahagis ng uri ng data sa java

habang (iterator.hasNext () {

Elemento ng string = (String) iterator. Sunod ()

}

// access sa pamamagitan ng bagong for-loop

para sa (object object: q1) {

Elemento ng String = (String) object

}

Ang pagkakasunud-sunod kung saan ang mga elemento ay paulit-ulit ay nakasalalay sa pagpapatupad ng pila.

Habang maraming mga pamamaraan na maaaring ipatupad ng isang Java Queue, ang pinakamahalagang pamamaraan ay tinalakay dito.

Sa gayon ay natapos na kami sa artikulong ito sa 'Java Queue'. Kung nais mong matuto nang higit pa,tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo upang sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na ito at babalikan ka namin sa lalong madaling panahon.