Bu eğiticide, Java Queue arayüzü ve yöntemleri hakkında bilgi edineceğiz.
Queue
Java koleksiyonları çerçeve arayüz kuyruk veri yapısı işlevi sağlar. Collection
Arayüzü genişletir .
Sırayı Uygulayan Sınıflar
Yana Queue
bir arayüz ise, biz bu doğrudan uygulanmasını sağlayamaz.
İşlevselliklerini kullanmak için Queue
, onu uygulayan sınıfları kullanmamız gerekir:
- ArrayDeque
- Bağlantılı liste
- PriorityQueue
Kuyruğu genişleten arayüzler
Queue
Arayüz ayrıca çeşitli subinterfaces uzatılır:
Deque
BlockingQueue
BlockingDeque
Kuyruk Veri Yapısının Çalışması
Kuyruklarda öğeler saklanır ve İlk Giren İlk Çıkar şeklinde erişilir . Kendisine, elemanlar vardır arkasında eklenen ve önden kaldırılmış .
Queue nasıl kullanılır?
Java'da java.util.Queue
kullanmak için paketi içe aktarmalıyız 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();
Burada, nesneler animal1, animal2 ve sınıfların animal3 yarattık LinkedList
, ArrayDeque
ve PriorityQueue
sırasıyla. Bu nesneler Queue
arayüzün işlevlerini kullanabilir .
Kuyruk Yöntemleri
Queue
Arayüzü tüm yöntemleri kapsamaktadır Collection
arayüz. Bunun nedeni Collection
süper arayüzü olmasıdır Queue
.
Queue
Arayüzün yaygın olarak kullanılan yöntemlerinden bazıları şunlardır:
- add () - Belirtilen öğeyi kuyruğa ekler. Görev başarılı olursa,
add()
geri dönertrue
, değilse bir istisna atar. - offer () - Belirtilen öğeyi kuyruğa ekler. Görev başarılı olursa,
offer()
geritrue
dönmezse dönerfalse
. - element () - Kuyruğun başını döndürür. Kuyruk boşsa bir istisna atar.
- peek () - Sıranın başını döndürür. İade
null
kuyruk boşsa. - remove () - Sıranın başını döndürür ve kaldırır. Kuyruk boşsa bir istisna atar.
- anket () - Sıranın başını döndürür ve kaldırır. İade
null
kuyruk boşsa.
Kuyruk Arayüzünün Uygulanması
1. LinkedList Sınıfını Uygulama
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); ) )
Çıktı
Kuyruk: (1, 2, 3) Erişilen Öğe: 1 Kaldırılmış Öğe: 1 Güncellenmiş Kuyruk: (2, 3)
Daha fazla bilgi edinmek için Java LinkedList'i ziyaret edin.
2. PriorityQueue Sınıfını Uygulama
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); ) )
Çıktı
Kuyruk: (1, 5, 2) Erişilen Öğe: 1 Kaldırılmış Öğe: 1 Güncellenmiş Kuyruk: (2, 5)
Daha fazla bilgi edinmek için Java PriorityQueue adresini ziyaret edin.
Sonraki eğitimlerde, Queue
arayüzün farklı alt arayüzlerini ve uygulanmasını ayrıntılı olarak öğreneceğiz .