25

java.util.LinkedHashMap.NETに対応するものがあるのだろうか?(つまり、要素にアクセスすると、要素は自動的に (再) 順序付けされます。 (boolean accessOrder) )。

4

8 に答える 8

16

読者のために少し明確にするために:LinkedHashMapは、1つの特定のコンストラクターオーバーロードでビルドされた場合にのみそのように動作します。通常、要素は挿入順に維持されます。(これは私には少し奇妙に感じますが、気にしないでください。)

.NETにはそのようなクラスはないと思います。要素のリンクリストとキーからリンクリストノードへの辞書を使用して、1つを構築するのはそれほど難しくありません。アクセスは、リンクリストノードをフェッチし、それを先頭に移動して、値を返すことで構成されます。

必要に応じて、今夜または明日実装できれば幸いです。ただし、完全な単体テストなどは使用しない可能性があります(コレクションを完全にテストするのは時間のかかる作業です!)

于 2009-01-28T09:28:00.893 に答える
6

少しグーグルすると、LinkedHashMapに相当する組み込みのC#がないことがわかりますが、サードパーティのオプションがいくつかあります。

于 2009-01-28T09:27:30.210 に答える
2

フォーラムで見つけた C# の実装を次に示します。

文書化されていませんが、いくつかのテストがあります。ただし、一般的ではありません。少なくともそれは私が推測するものです。

@Jon: 迅速な実装を行っていただければ幸いです。LinkedList の上に Dictionary を配置するのが最適だと思いましたが、LinkedListはガベージ コレクションの問題があり、動作が遅くなると聞きました。

于 2009-06-05T15:05:13.917 に答える