回答:
アンは、収集命じたコレクションの要素が特定の順序を持っていることを意味します。順序は値とは無関係です。A リストは一例です。
ソートされたコレクションだけでなく、コレクションが注文を持っているん手段が、順序は要素の値に依存します。A たSortedSetは一例です。
対照的に、順序のないコレクションは、要素を任意の順序で維持できます。A セットは一例です。
Javaは「順序付きコレクション」を使用して、Listなどのコレクションを意味します(HashSetとは異なり)、コレクションは要素の順序を覚えています。そのため、要素をコレクションの特定の「場所」に追加できます。 。
Javaは「ソート済みコレクション」を使用して、SortedSetなどのコレクションを意味します(リストとは異なり)、イテレータがコレクションを走査する順序は、指定されたコンパレータまたは要素の自然順序に従います。
したがって、違いは、順序が値に依存する(「並べ替えられた」)か、要素がその値とは無関係に持つプロパティ(「順序付けされた」)であるかです。
OrderedDict
のpythonインチ しかし.NETでは、「ソートされた」列挙可能なインターフェースはと呼ばれIOrderedEnumerable
ます。したがって、状況によって異なります。ただ言って..
はい、概念は似ていますが。
List
は順序付けられたコレクションです。各要素にはインデックスがあり、要素の順序を形成しますが、通常は要素自体のプロパティには関連付けられていません。
SortedMap
そしてSortedSet
コレクション、コレクションが要素自体に由来する配列に起こるのだろう繰り返し処理という手段をソートされています。たとえば、aがあるSortedSet<String>
場合、文字列は辞書式のソート順に従ってソートされます。
順序付けられたコレクションは並べ替えることができますがCollections.sort()
、外部の順序付けが要素の並べ替え順序と同じである場合(たとえばを使用した後)は、並べ替える必要はありません。ソートされたコレクションは常に暗黙的に順序付けられます(つまり、常に「最初の」要素があり、別の小さい要素を追加しない限り、常に同じです)。
並べ替えられたコレクションと順序付けられたコレクション
1.ソートされたコレクション
ソートされたコレクションとは、Javaコレクションフレームワークによって提供されるソート機能を利用してコレクションをソートすることです。Javaコンパレーターを使用してデータベースからデータが読み取られた後、Hibernateを実行しているJVMのメモリーでソートが行われます。
コレクションが大きくない場合は、より効率的に並べ替えることができます。これはjvmメモリーで発生するため、メモリー不足エラーをスローする可能性があります。
2.注文の収集
Order Collectionは、クエリでorder-by句を指定してコレクションをソートし、取得時にこのコレクションをソートします。コレクションが非常に大きい場合、それはそれをソートするためのより効率的な方法になります。ソートされたコレクションと比較して高速です。
IOrderedEnumerable
(面白いことに、.NET。アン「の挿入順序」.NETでrespectin辞書が呼び出されるのは非常に一貫性がないOrderedDictionary
、いくつかが言うと比較して誤った名称であると信じていますIndexedDictionary
)。はい、Javaの世界では(主に他の場所でも)、答えの意味を示しています。詳しくはこちらをご覧ください。