<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Java `Queue`接口 > 原文: [https://www.programiz.com/java-programming/queue](https://www.programiz.com/java-programming/queue) #### 在本教程中,我們將學習 Java `Queue`接口及其方法。 Java 集合框架的`Queue`接口提供隊列數據結構的功能。 它擴展了`Collection`接口。 * * * ## 實現`Queue`的類 由于`Queue`是一個接口,我們無法提供它的直接實現。 為了使用`Queue`的功能,我們需要使用實現它的類: * [`ArrayDeque`](/java-programming/arraydeque "Java ArrayDeque class") * [`LinkedList`](/java-programming/linkedlist "Java LinkedList class") * [`PriorityQueue`](/java-programming/priorityqueue "Java PriorityQueue Class") ![ArrayDeque, LinkedList and PriorityQueue implements the Queue interface in Java.](https://img.kancloud.cn/1f/44/1f44dbbda1b697863c115aa6128b4a6a_984x400.png) * * * ## 擴展`Queue`的接口 `Queue`接口還通過各種子接口擴展: * `Deque` * `BlockingQueue` * `BlockingDeque` ![Deque, BlockingQueue and BlockingDeque extends the the Queue interface.](https://img.kancloud.cn/34/b6/34b6c1e7d18cad993a3c28b0b83a3473_1104x400.png) * * * ## 隊列數據結構的工作原理 在隊列中,元素以**先進先出**的方式存儲和訪問。 即,從后面添加元素,從前面**去除元素**。 ![Working of queue data structure: first in first out.](https://img.kancloud.cn/82/9c/829c8c5ea1bc0aaa2bff0ccf616f18ab_958x268.png) * * * ## 如何使用隊列? 在 Java 中,必須導入`java.util.Queue`包才能使用`Queue`。 ```java // LinkedList implementation of Queue Queue<String> animal1 = new LinkedList<>(); // Array implementation of Queue Queue<String> animal2 = new ArrayDeque<>(); // Priority Queue implementation of Queue Queue<String> animal 3 = new PriorityQueue<>(); ``` 在這里,我們分別創建了`LinkedList`,`ArrayDeque`和`PriorityQueue`類的對象`animal1`,`animal2`和`animal3`。 這些對象可以使用`Queue`接口的功能。 * * * ## `Queue`方法 `Queue`接口包含`Collection`接口的所有方法。 這是因為`Collection`是`Queue`的超級接口。 `Queue`接口的一些常用方法是: * **`add()`** - 將指定的元素插入隊列。 如果任務成功,則`add()`返回`true`,否則將引發異常。 * **`offer()`** - 將指定的元素插入隊列。 如果任務成功,則`offer()`返回`true`,否則返回`false`。 * **`element()`** - 返回隊列的開頭。 如果隊列為空,則引發異常。 * **`peek()`** - 返回隊列的開頭。 如果隊列為空,則返回`null`。 * **`remove()`** - 返回并刪除隊列的頭部。 如果隊列為空,則引發異常。 * **`poll()`** - 返回并刪除隊列的頭部。 如果隊列為空,則返回`null`。 ## `Queue`接口的實現 **1.`LinkedList`實現類** ```java import java.util.Queue; import java.util.LinkedList; class Main { public static void main(String[] args) { // Creating Queue using the LinkedList class Queue<Integer> 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); } } ``` **輸出** ```java Queue: [1, 2, 3] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 3] ``` 要了解更多信息,請訪問 [Java LinkedList](/java-programming/linkedlist "Java LinkedList") 。 **2.`PriorityQueue`實現類** ```java import java.util.Queue; import java.util.PriorityQueue; class Main { public static void main(String[] args) { // Creating Queue using the PriorityQueue class Queue<Integer> 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); } } ``` **輸出**: ```java Queue: [1, 5, 2] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 5] ``` 要了解更多信息,請訪問 [Java PriorityQueue](/java-programming/priorityqueue) 。 * * * 在接下來的教程中,我們將詳細了解`Queue`接口的不同子接口及其實現。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看