ArrayBlockingQueueとLinkedBlockingQueueの違い
ブロッキングキューインターフェイスは、Java.util.concurrentパッケージの一部です。ブロッキングキューは、プロデューサーコンシューマーキュー用に特別に設計されており、収集もサポートしています。このインターフェースは、キューを介して実行できるすべてのタイプの操作をサポートするために、メソッドの4つの部分に分割されています。 nullキーは受け入れません。 ArrayBlockingQueueとLinkedBlockingQueueはどちらもブロッキングキューインターフェイスを実装しています
ArrayBlockingQueueとLinkedBlockingQueueは、どちらも要素をFIFO順に格納します。どちらのキューでも、要素の挿入は常にキューの末尾で行われ、要素の削除は常にキューの先頭から行われました。
Sr。いいえ。 | キー | ArrayBlockingQueue | LinkedBlockingQueue |
---|---|---|---|
1 | 基本 | アレイに支えられています | リンクリストに裏打ちされています |
2 | 制限付き | 制限付き配列キューです。したがって、一度作成すると容量を変更することはできません | 無制限のキューです |
3 | スループット | リンクされたキューキューよりもスループットが低くなります | リンクされたキューは、アレイベースのキューよりもスループットが高くなります |
4。 | ロック | シングルロックダブルコンディションアルゴリズムを使用 | キューに要素を挿入するためのputLockと、キューから要素を削除するためのtakeLockがあります |
-
JavaのQueueインターフェイスのpeek()、poll()、remove()メソッドの違いは?
これは、処理前にデータを保持するためにインデントされたコレクションを表します。これは、先入れ先出し(FIFO)タイプの配置です。キューに入れられた最初の要素は、キューから取り出された最初の要素です。 peek()メソッド このメソッドは、オブジェクトを削除せずに、現在のキューの先頭にあるオブジェクトを返します。キューが空の場合、このメソッドはnullを返します。 例 import java.util.Iterator; import java.util.LinkedList; import java.util.Queue; public class QueueExample {  
-
JavaでのArrayListとHashSetの違い
HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり