Hàng đợi Java: Mọi thứ bạn cần biết về hàng đợi trong Java



Trong bài viết này, chúng ta sẽ sử dụng một cấu trúc dữ liệu Java phổ biến được gọi là Java Queue. Chúng tôi cũng sẽ sử dụng các ví dụ có lập trình phù hợp để hiểu rõ hơn.

là một ngôn ngữ lập trình mạnh mẽ và nó hỗ trợ các cấu trúc dữ liệu khác nhau để làm cho cuộc sống của các lập trình viên trở nên dễ dàng. Trong bài này, chúng ta sẽ xem xét một cấu trúc dữ liệu đó là Java Queue. Đây là những điểm mà bài viết này tập trung vào,

Hãy để chúng tôi bắt đầu sau đó,





Hàng đợi trong Java

Hàng đợi là một cấu trúc dữ liệu tuân theo nguyên tắc FIFO (First-In-First-Out), tức là các phần tử được chèn vào cuối danh sách và bị xóa khỏi đầu danh sách. Giao diện này có sẵn trong java.util.package và mở rộng Giao diện Bộ sưu tập.

Hàng đợi hỗ trợ nhiều phương pháp, bao gồm chèn và xóa. Các hàng đợi có sẵn trong java.util.package được gọi là Hàng đợi không giới hạn , trong khi các hàng đợi có trong gói java.util.concurrent được biết là Hàng đợi có Giới hạn.



Tất cả các hàng đợi, ngoại trừ Deques, hỗ trợ chèn ở cuối và xóa từ phía trước. Deques hỗ trợ chèn và xóa các phần tử ở cả hai đầu.

Chúng ta hãy chuyển sang chủ đề tiếp theo của bài viết này trên Java Queue,

Triển khai hàng đợi Java

Để sử dụng giao diện hàng đợi, chúng ta cần khởi tạo một lớp cụ thể. Sau đây là một số triển khai có thể được sử dụng:



  • use.LinkedList
  • sử dụng.

Vì những triển khai này không an toàn cho luồng, nên PriorityBlockingQueue hoạt động như một giải pháp thay thế cho việc triển khai an toàn cho luồng.

Thí dụ:

Hàng đợi q1 = new LinkedList ()
Hàng đợi q2 = new PriorityQueue ()

Hãy để chúng tôi tìm hiểu một số phương thức Java Queue quan trọng,

Các phương thức trong hàng đợi Java

  • thêm vào(): Phương thức add () được sử dụng để chèn các phần tử vào cuối hoặc ở cuối hàng đợi. Phương thức được kế thừa từ giao diện Bộ sưu tập.
  • phục vụ(): Phương thức offer () thích hợp hơn phương thức add () vì nó chèn phần tử được chỉ định vào hàng đợi mà không vi phạm bất kỳ giới hạn dung lượng nào.
  • peek (): Phương thức peek () được sử dụng để nhìn vào phía trước của hàng đợi mà không cần loại bỏ nó. Nếu hàng đợi trống, nó trả về giá trị null.
  • thành phần(): Nếu hàng đợi trống, phương thức ném NoSuchElementException.
  • tẩy(): Phương thức remove () loại bỏ phía trước của hàng đợi và trả về nó. Ném NoSuchElementException nếu hàng đợi trống.
  • thăm dò ý kiến ​​(): Phương thức thăm dò () loại bỏ phần đầu của hàng đợi và trả về nó. Nếu hàng đợi trống, nó trả về giá trị null.

Tổng quan về các phương pháp sau đây được đưa ra như sau:

Hoạt động

Ngoại lệ ném

Trả lại giá trị

Chèn

thêm (phần tử)

cung cấp (phần tử)

Tẩy

tẩy()

thăm dò ý kiến ​​()

Xem xét

thành phần()

nhìn trộm ()

Bây giờ chúng ta hãy xem phần trình diễn,

Chương trình thể hiện các phương thức hàng đợi

import java.util. * public class Main {public static void main (String [] args) {// Chúng tôi không thể tạo phiên bản của Queue vì nó là một giao diện, do đó chúng tôi Queue q1 = new LinkedList () // Thêm phần tử vào the Queue q1.add ('I') q1.add ('Love') q1.add ('Rock') q1.add ('And') q1.add ('Roll') System.out.println ('Phần tử trong Hàng đợi: '+ q1) / * * Chúng ta có thể xóa một phần tử khỏi Hàng đợi bằng phương thức remove (), * điều này sẽ xóa phần tử đầu tiên khỏi Hàng đợi * / System.out.println (' Phần tử đã xóa: '+ q1.remove ( )) / * * element () method - phương thức này trả về phần đầu của * Queue. * / System.out.println (phương thức 'Head:' + q1.element ()) / * * thăm dò ý kiến ​​() - điều này sẽ xóa và trả về * đầu Hàng đợi. Trả về null nếu Queue trống * / System.out.println ('thăm dò ():' + q1.poll ()) / * * phương thức peek () - nó hoạt động giống như phương thức element (), * tuy nhiên, nó trả về null nếu Hàng đợi trống * / System.out.println ('peek ():' + q1.peek ()) // Hiển thị các phần tử của Hàng đợi System.out.println ('Các phần tử trong Hàng đợi:' + q1)} }

Đầu ra:

Các phần tử trong hàng đợi: [I, Love, Rock, And, Roll]

Phần tử đã xóa: I

Head: Tình yêu

thăm dò ý kiến ​​(): Tình yêu

peek (): Đá

Các phần tử trong Hàng đợi: [Rock, And, Roll]. Trong ví dụ trên, Hàng đợi Chung đã được sử dụng.

Trong loại hàng đợi này, chúng ta có thể giới hạn loại đối tượng được chèn vào hàng đợi. Trong ví dụ của chúng tôi, chúng tôi có thể chỉ có các cá thể chuỗi được chèn vào hàng đợi.

Lặp lại thông qua một hàng đợi Java

Các phần tử trong hàng đợi java có thể được lặp lại bằng cách sử dụng mã sau:

Hàng đợi q1 = new LinkedList ()

q1.add (“Đá”)

q1.add (“Và”)

q1.add (“Cuộn”)

// truy cập qua Iterator

Trình lặp lặp Iterator = q1.iterator ()

while (iterator.hasNext () {

Phần tử chuỗi = (Chuỗi) iterator.next ()

}

sự khác biệt giữa lớp và giao diện trong java

// truy cập qua vòng lặp for mới

for (Đối tượng: q1) {

Phần tử chuỗi = (Chuỗi) đối tượng

}

Trình tự mà các phần tử được lặp lại phụ thuộc vào việc thực hiện hàng đợi.

Mặc dù có nhiều phương thức mà Java Queue có thể triển khai, nhưng các phương pháp quan trọng nhất đã được thảo luận ở đây.

Như vậy là chúng ta đã kết thúc bài viết này về ‘Java Queue’. Nếu bạn muốn tìm hiểu thêm,kiểm tra bởi Edureka, một công ty học trực tuyến đáng tin cậy. Khóa học đào tạo và cấp chứng chỉ Java J2EE và SOA của Edureka được thiết kế để đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.