web-dev-qa-db-ja.com

Javaのコレクションのリストvsキューvsセット

リスト、キュー、セットの違いは何ですか?

26
Sumithra

簡単に言えば:

listはオブジェクトの順序付きリストであり、同じオブジェクトが複数回出現する場合があります。例:[1、7、1、3、1、1、1、5]。リストの「3番目の要素」について話すことは理にかなっています。リスト内の任意の場所に要素を追加したり、リスト内の任意の場所に要素を変更したり、リスト内の任意の位置から要素を削除したりできます。

queueも順序付けされていますが、要素に触れるのは一方の端のみです。すべての要素は「最後」に挿入され、キューの「最初」(または先頭)から削除されます。キューに要素がいくつあるかはわかりますが、「3番目」の要素が何であるかはわかりません。あなたがそこに着くと、あなたはそれを見るでしょう。

setは順序付けされておらず、重複を含めることはできません。特定のオブジェクトは、セットに含まれるか、セットに含まれません。 {7、5、3、1}は、{1、7、1、3、1、1、1、5}とまったく同じセットです。これらは特定の順序ではないため、「3番目」の要素や「最初」の要素を要求することはできません。要素を追加または削除したり、特定の要素が存在するかどうかを確認したりできます(たとえば、「このセットには7ですか?」)

64
VoteyDisciple