Java Queue queueの一般的な方法と注意点
Queue(キュー)は特殊な線形データ構造であり、その動作は先入れ先出し( FIFO) ) 原則。 Java は、キュー関数を実装するための Queue インターフェイスを提供します。一般的な実装クラスには、LinkedList および ArrayDeque が含まれます。
1. 一般的に使用されるメソッド
add(): キューの最後に要素を追加します。キューがいっぱいの場合、このメソッドを使用すると IllegalStateException がスローされます。
Queue<Integer> queue = new LinkedList<>(); queue.add(1); queue.add(2); queue.add(3);
offer(): 要素をキューの最後に追加します。キューがいっぱいの場合、このメソッドを使用すると false が返され、追加が失敗したことが示されます。
Queue<Integer> queue = new LinkedList<>(); queue.offer(1); queue.offer(2); queue.offer(3);
remove(): キューの先頭要素を削除して返します。キューが空の場合、このメソッドを使用すると NoSuchElementException 例外がスローされます。
Queue<Integer> queue = new LinkedList<>(); queue.add(1); queue.add(2); queue.add(3); int head = queue.remove();
poll(): キューの先頭要素を削除して返します。キューが空の場合、このメソッドを使用すると null が返されます。
Queue<Integer> queue = new LinkedList<>(); queue.offer(1); queue.offer(2); queue.offer(3); int head = queue.poll();
element(): キューの先頭要素を返しますが、削除はしません。キューが空の場合、このメソッドを使用すると NoSuchElementException 例外がスローされます。
Queue<Integer> queue = new LinkedList<>(); queue.add(1); queue.add(2); queue.add(3); int head = queue.element();
peek(): キューの先頭要素を返しますが、削除はしません。キューが空の場合、このメソッドを使用すると null が返されます。
Queue<Integer> queue = new LinkedList<>(); queue.offer(1); queue.offer(2); queue.offer(3); int head = queue.peek();
2. 注意事項
キュー実装クラスは通常、スレッドセーフではありません。マルチスレッド環境で使用する場合は、次のことを実行する必要があります。追加の同期。
Queue<Integer> queue = new LinkedList<>(); queue = Collections.synchronizedQueue(queue);
キューのサイズを考慮し、容量に制限がある場合は、要素を追加する前に容量の判定と処理を行う必要があります。
Queue<Integer> queue = new ArrayDeque<>(10);
概要:
Java の Queue キューには、先入れ先出し操作を実装するための一連のメソッドが用意されています。一般的なメソッドには、add()、offer()、remove()、poll( )、element()、peek()。キューを使用する場合は、スレッド セーフ、容量の問題、およびトラバーサル削除操作に注意する必要があります。キューは、先入れ先出し問題を解決するときに非常に便利で実用的であり、タスクのスケジューリングや幅優先検索などのシナリオに適しています。
以上がよく使われるJava Queueのキューメソッドと注意事項を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。