1

LinkedListの内部にアクセスする必要がありますLinkedHashMap。尻尾と頭の両方にアクセスできるようにしたいです。イテレータを介して、構築時に使用されたアクセス順序に応じて、先頭または末尾にのみアクセスできます。

O(1)の内部リストの先頭と末尾に効率的にアクセスするにはどうすればよいですか?

アイデアは Apache Common Collection のものと似ていますLinkedHashMap.asList()(ただし、既に Guava を持っているので、Apache Commons Collection を依存関係として追加することは避けたいと思います)。

4

1 に答える 1

0

リフレクションを介してのみ、内部の LinkedList にアクセスできます。

リフレクションを使用すると、次を使用してプライベート メンバーにアクセスできますsetAccessible(true) 。javas セキュリティ マネージャーがリフレクションによるプライベート アクセスを無効にしている場合、これは失敗する可能性があります。

別の解決策は、LinkedHashMap のオープン ソース実装を使用してから、ゲッターを内部リストに追加することです。

于 2013-01-07T01:05:48.917 に答える