3

SortedMap、CheckedSortedMap、synchronizedSortedMapの違いを理解するのを誰かが助けてくれますか?どちらをいつ使うか決めるのに本当に苦労していますか?

前もって感謝します。

4

2 に答える 2

2

SortedMapは、キーで定義された方法で順序付けられるというコントラクトが追加されたMap(キーと値のペア)であるインターフェイスです。キーの順序付けにより、SortedMapには、 「通常の」マップにはないSortedMap<K,V> subMap(K fromKey, K toKey)、のような追加のメソッドがあります。SortedMap<K,V> headMap(K toKey) ...sortMapのキーセットを繰り返すと、明確な順序が見つかります。

ATreemapはそのインターフェースの実装です。自分で新しいSortedMapオブジェクトを作成する場合は、ほとんどの場合、になりTreeSetます。

checkedSortedMapまたはその他のCollections.checkedXXX()メソッドについては、これらすべての目的について詳しく説明します。JavaでCollections.checkedList()を呼び出すにはどうすればよいですか。

コレクションフレームワークのクラスは、デフォルトでは同期されていません。マップの場合、2つ以上のスレッド間で共有されているマップがあり、一方が実行していてput(A, value)、もう一方のスレッドもマップ上で同時に呼び出しput(A, othervalue)ている場合、奇妙なことが発生する可能性があります。Collections.synchronizedSortedMap(sortedMap)メソッドは、指定されたマップをラップし、適切なロックメカニズムを備えた同期マップを提供します。

于 2012-10-16T06:32:55.587 に答える
0

SortedMapConcurrentSkipListMap, TreeMapクラスによって実装されるインターフェースです。

Collections.synchronizedSortedMapソートされたマップのスレッドセーフ(同期)ビューを取得するために使用します。マルチスレッド環境で役立ちます。

java.util.Collections.checkedSortedMap指定されたソート済みマップの動的にタイプセーフなビューを取得するために使用します。

于 2012-10-16T05:10:59.350 に答える