[解決済み] 辞書のキーを基準にしたその場での並び替え
2023-06-30 05:13:41
質問
C#で以下のような辞書を持っています。
Dictionary<Person, int>
で、その辞書をソートしたいのですが で をキー(クラスPersonのフィールド)に関して並べ替えたい。どうすればよいのでしょうか?インターネット上のすべての利用可能なヘルプは、リストのものであり、Dictionaryのインプレースソートの特定の例はありません。どのようなヘルプでも非常に高く評価されます。
どのように解決するのですか?
をソートすることができません。
Dictionary<TKey, TValue>
- は本質的に順不同です。(というか、エントリを取得する順番は実装に依存します。順序付けは設計された機能の一部ではないので、バージョン間で同じように動作することを当てにしてはいけません)。
あなたは
は
使用
SortedList<TKey, TValue>
または
SortedDictionary<TKey, TValue>
で、どちらもキーでソートされます。
IEqualityComparer<T>
をコンストラクタに渡すと、設定可能な方法で) - これらはあなたにとって有用であるかもしれませんか?
名前の中にある "list" という単語に少し注意を払ってください。
SortedList
- は、キーと値を対応させるという点では、まだ辞書です。それは
は実装されています。
であり、ハッシュコードで検索するのではなく、バイナリサーチを行います。
SortedDictionary
は同様にバイナリ検索に基づいていますが、リストの代わりにツリーを経由しています。
関連
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 辞書から要素を削除する
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?