7

Collections.sort()が s にのみ適用され、Lists には適用されないのはなぜSetですか? 特に理由はありますか?

4

5 に答える 5

9

ほとんどの (すべてではない)Set実装には順序の概念がないためCollections.sort、全体としてはサポートされていません。順序の概念を持つセットが必要な場合は、次のようなものを使用できますTreeSet

に基づくNavigableSet実装TreeMap。要素は、使用されるコンストラクターに応じて、自然な順序付けを使用して、またはComparatorセットの作成時に指定された によって順序付けられます。

またはLinkedHashSet:

Set予測可能な反復順序を備えた、インターフェースのハッシュ テーブルとリンク リストの実装。この実装が t と異なるのはHashSe、すべてのエントリを通る二重リンク リストを維持する点です。このリンクされたリストは、反復順序を定義します。これは、要素がセットに挿入された順序です ( insert-order )

于 2013-06-26T16:51:15.343 に答える
8

セットには、定義上、順序がありません。

于 2013-06-26T16:48:28.157 に答える
1

セットのご注文は承っておりません。SortedSetを使用できます。または、セットからリストを作成して並べ替えることができます。

于 2013-06-26T16:50:40.313 に答える
0

リストは要素の順序付けられたセットですが、セットはそうではありません。これは、セット要素のどれもシーケンス番号を持たないことを意味します。だから並べられない。

于 2013-06-26T16:49:49.490 に答える