MapMaker
LRU オーダーで 作成されたマップを反復することは可能ですか? com.googlecode.concurrentlinkedhashmap
にはascendingKeySet
とメソッドがありますが、これらは( のインスタンス)descendingKeySet
によって返されるマップでは使用できないようです。デフォルトの反復子は LRU 順序付けを使用しますか? コードをざっと見てみると、そうではないことがわかります。 MapMaker
CustomConcurrentHashMap
MapMaker マップを含むクラスに clone メソッドを実装しようとしているので、マップ エントリの LRU 順序を維持しながら、マップのクローンを作成する方法が必要です。
同期の問題はさておき、エントリを LRU の順序で繰り返すことができれば、エントリを MapMaker マップの新しいインスタンスに同じ制限で追加するだけで、実行可能なクローンが得られます。