隊列(Queue)是一種先進先出(FIFO)的數(shù)據(jù)結構,可以在一端插入元素,在另一端刪除元素。在隊列中,插入元素的一端稱為隊尾(rear),刪除元素的一端稱為隊頭(front)。
Java中的Queue接口是一個繼承自Collection接口的子接口,它定義了一些方法來操作隊列。常用的實現(xiàn)類有LinkedList和ArrayDeque。
以下是Queue接口中常用的方法:
LinkedList和ArrayDeque是Java中常用的隊列實現(xiàn)類。它們都實現(xiàn)了Queue接口,因此可以直接使用Queue接口中定義的方法。
示例代碼:
Queue<Integer> queue = new LinkedList<>();
queue.enqueue(1); // 隊列中插入元素1
queue.enqueue(2); // 隊列中插入元素2
System.out.println(queue.peek()); // 輸出隊頭元素
int num = queue.dequeue(); // 刪除隊頭元素,并返回該元素
System.out.println(num); // 輸出刪除的元素
System.out.println(queue.isEmpty()); // 判斷隊列是否為空
System.out.println(queue.size()); // 輸出隊列中元素的個數(shù)
示例代碼:
Queue<Integer> queue = new ArrayDeque<>();
queue.enqueue(1); // 隊列中插入元素1
queue.enqueue(2); // 隊列中插入元素2
System.out.println(queue.peek()); // 輸出隊頭元素
int num = queue.dequeue(); // 刪除隊頭元素,并返回該元素
System.out.println(num); // 輸出刪除的元素
System.out.println(queue.isEmpty()); // 判斷隊列是否為空
System.out.println(queue.size()); // 輸出隊列中元素的個數(shù)
隊列的應用場景非常廣泛,比如在實現(xiàn)消息隊列、線程池等方面都可以使用隊列數(shù)據(jù)結構。