Queue trong java với ví dụ cụ thể

Queue hay tiếng việc là hàng đợi, cái tên giúp chúng ta hiểu một phần nào về cách hoạt động của Queue(First in First out). Giả rằng khi bạn đi xem phim bạn phải sắp hàng để đợi đến lượt mua vé người nào tới trước và đứng đợi trước thì được mua sớm nhất và bị xoá ra khỏi hàng đợi.

Queue in java

Trong java Queue là một interface được implement bởi LinkedList và PriorityQueue.

Note: Queue là một interface nên chúng ta không thể khởi tạo, mà phải khởi tạo các implement của nó như LinkedList, PriorityQueue.

Khởi tạo Queue

Queue q1 = new LinkedList();
Queue q2 = new PriorityQueue();

Ví dụ

import java.util.*;
public class Main {

    public static void main(String[] args) {

        Queue<Integer> q = new LinkedList<>();

        //Adding elements to the Queue
        q.add(1);
        q.add(100);
        q.add(99);
        q.add(46);
        q.add(90);

        System.out.println("Elements in Queue:"+q);

        System.out.println("Removed element: "+q.remove());


        System.out.println("Head: "+q.element());

        System.out.println("poll(): "+q.poll());


        System.out.println("peek(): "+q.peek());


        System.out.println("Elements in Queue:"+q);
    }
}

Output

Elements in Queue:[1, 100, 99, 46, 90]
Removed element: 1
Head: 100
poll(): 100
peek(): 99
Elements in Queue:[99, 46, 90]

Method Queue Interface

boolean add(E e): Thêm phần tử vào Queue. Nếu thêm thành công trả về true, ngược lại false.

E element(): Trả về phần tử đầu tiên của Queue.

boolean offer(object): Tương tự add().

E remove(): Xoá phần tử đầu tiên của Queue.

E poll(): Tương tự remove(), điểm khác nhau giữa poll() và remove(), poll() trả về null khi Queue rỗng còn remove() quăng exception NoSuchElementException.

E peek(): Tương tự element() điểm khác nhau giữa peek() và element() là peek() trả về null nếu Queue rỗng, element() quăng NoSuchElementException

Kết bài

Mọi người cố gắng làm hết để ôn lại các kiến thức trong lập trình hướng đối tượng nghen.

Nếu làm được hết các bài này thì cũng đừng có mừng vội, vì đây chỉ là những thứ rất rất căn bản. Nhưng hãy thoải moái vì mình đã hoàn thành những bài tập này, chuẩn bị cho những thứ ghê ghớm hơn ở đằng sau.

Mình ngồi giải những bài tập này cũng đuối quá. Nếu có gì không hiểu hoặc không biết làm, hoặc tìm thấy bug thì mail cho mình nhé. Email ở dưới cuối màn mình =). Thanks!

Các bài viết liên quan

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x