1

MapMakerLRU オーダーで 作成されたマップを反復することは可能ですか? com.googlecode.concurrentlinkedhashmapにはascendingKeySetとメソッドがありますが、これらは( のインスタンス)descendingKeySetによって返されるマップでは使用できないようです。デフォルトの反復子は LRU 順序付けを使用しますか? コードをざっと見てみると、そうではないことがわかります。 MapMakerCustomConcurrentHashMap

MapMaker マップを含むクラスに clone メソッドを実装しようとしているので、マップ エントリの LRU 順序を維持しながら、マップのクローンを作成する方法が必要です。

同期の問題はさておき、エントリを LRU の順序で繰り返すことができれば、エントリを MapMaker マップの新しいインスタンスに同じ制限で追加するだけで、実行可能なクローンが得られます。

4

1 に答える 1

2

いいえ、それは不可能です。 MapMakerグローバルな LRU の順序付けはどこにも保持されません。セグメントは内部LRU 順序を維持しますが、それだけです。

于 2012-09-26T17:15:00.317 に答える