Java Queue Interface

Tässä opetusohjelmassa opitaan Java Queue -rajapinnasta ja sen menetelmistä.

QueueRajapinta Java kokoelmien puitteet tarjoaa toiminnot jonon tietorakenne. Se laajentaa Collectionkäyttöliittymää.

Luokat, jotka toteuttavat jonon

Koska tämä Queueon käyttöliittymä, emme voi tarjota sen suoraa toteutusta.

Tämän toiminnon käyttämiseksi Queuemeidän on käytettävä luokkia, jotka toteuttavat sen:

  • ArrayDeque
  • LinkedList
  • PriorityQueue

Liitännät, jotka pidentävät jonoa

QueueRajapinta on myös laajennettu eri subinterfaces:

  • Deque
  • BlockingQueue
  • BlockingDeque

Jonotietorakenteen toiminta

Jonoissa elementit tallennetaan ja niihin pääsee First In, First Out -menetelmällä. Eli elementit lisätään takaa ja poistetaan edestä .

Kuinka käyttää jonoa?

Java-käyttöjärjestelmässä meidän on tuotava java.util.Queuepaketti, jotta voimme käyttää sitä Queue.

 // LinkedList implementation of Queue Queue animal1 = new LinkedList(); // Array implementation of Queue Queue animal2 = new ArrayDeque(); // Priority Queue implementation of Queue Queue animal 3 = new PriorityQueue(); 

Täällä olemme luoneet esineitä animal1, animal2 ja animal3 luokkia LinkedList, ArrayDequeja PriorityQueuevastaavasti. Nämä objektit voivat käyttää Queuekäyttöliittymän toimintoja .

Jonon menetelmät

QueueKäyttöliittymä sisältää kaikki menetelmiä Collectionliitäntä. Se johtuu siitä, että se Collectionon super-käyttöliittymä Queue.

Jotkut yleisesti käytetyistä Queuekäyttöliittymän menetelmistä ovat:

  • add () - Lisää määritetyn elementin jonoon. Jos tehtävä onnistuu, add()palaa true, jos ei, se aiheuttaa poikkeuksen.
  • tarjous () - Lisää määritetyn elementin jonoon. Jos tehtävä onnistuu, offer()palaa true, jos ei, se palaa false.
  • element () - Palauttaa jonon pään. Heittää poikkeuksen, jos jono on tyhjä.
  • peek () - Palauttaa jonon pään. Palauttaa, nulljos jono on tyhjä.
  • poista () - Palauttaa ja poistaa jonon pään. Heittää poikkeuksen, jos jono on tyhjä.
  • poll () - Palauttaa ja poistaa jonon pään. Palauttaa, nulljos jono on tyhjä.

Jonoyhteyden käyttöönotto

1. LinkedList-luokan toteuttaminen

 import java.util.Queue; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating Queue using the LinkedList class Queue numbers = new LinkedList(); // offer elements to the Queue numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) ) 

Tuotos

 Jono: (1, 2, 3) Käytetty elementti: 1 Poistettu elementti: 1 Päivitetty jono: (2, 3) 

Lisätietoja on Java LinkedList -sivulla.

2. PriorityQueue-luokan toteuttaminen

 import java.util.Queue; import java.util.PriorityQueue; class Main ( public static void main(String() args) ( // Creating Queue using the PriorityQueue class Queue numbers = new PriorityQueue(); // offer elements to the Queue numbers.offer(5); numbers.offer(1); numbers.offer(2); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) ) 

Tuotos

 Jono: (1, 5, 2) Käytetty elementti: 1 Poistettu elementti: 1 Päivitetty jono: (2, 5) 

Lisätietoja on Java PriorityQueue -sivulla.

Seuraavissa opetusohjelmissa opitaan Queueyksityiskohtaisesti käyttöliittymän eri aliliittymistä ja niiden toteuttamisesta.

Mielenkiintoisia artikkeleita...