1

キー「a」、「b」、「c」を a に入れたとしましょうTreeMap。「c」を使用して、それが の辞書順で 3 番目の要素であると判断するにはどうすればよいTreeMapですか?

TreeMap から取得した NavigableSet の目的は何ですか?

4

2 に答える 2

4

挿入した順序で要素を取得する場合は、LinkedHashMap を使用します。

LinkedHashMap

Map インターフェイスのハッシュ テーブルとリンク リストの実装で、反復順序が予測可能です。この実装が HashMap と異なる点は、そのすべてのエントリを実行する二重リンク リストを維持することです。この連結リストは反復順序を定義します。これは通常、キーがマップに挿入された順序 (挿入順序) です。キーがマップに再挿入されても、挿入順序は影響を受けないことに注意してください。(呼び出しの直前に m.containsKey(k) が true を返すときに m.put(k, v) が呼び出された場合、キー k はマップ m に再挿入されます。)

于 2013-03-23T14:50:02.440 に答える
2

実際に知りたいのが、マップに含まれるソートされたキーのセット内の c キーのインデックスである場合は、単純に使用できます

int index = map.headMap("c").size(); 

TreeMap が維持しない挿入順序とは関係がないことに注意してください。

于 2013-03-23T14:51:47.400 に答える