[解決済み] C# Java HashMap相当
2022-03-24 16:47:59
質問
Java の世界から C# の世界へ、HashMap に相当するものはあるのでしょうか?ない場合は、何がお勧めですか?
どのように解決するのですか?
Dictionary
が最も近いと思われます。
System.Collections.Generic.Dictionary
を実装しています。
System.Collections.Generic.IDictionary
インタフェース (これは、Java の
Map
インターフェイス)。
注意すべき顕著な違いもあります。
-
アイテムの追加・取得
-
Java の HashMap には
put
とget
項目を設定/取得するためのメソッド-
myMap.put(key, value)
-
MyObject value = myMap.get(key)
-
-
C#の辞書は、以下を使用しています。
[]
項目の設定/取得のためのインデックス作成-
myDictionary[key] = value
-
MyObject value = myDictionary[key]
-
-
Java の HashMap には
-
null
キー-
ジャワの
HashMap
は null キーを許可します。 -
.NETの
Dictionary
を投げる。ArgumentNullException
NULLキーを追加しようとすると
-
ジャワの
-
重複するキーを追加する
-
Java の
HashMap
は既存の値を新しい値で置き換えます。 -
.NETの
Dictionary
を使用すると、既存の値を新しい値に置き換えます。[]
のインデックスを作成します。 もしあなたがAdd
メソッドを呼び出すと、代わりにArgumentException
.
-
Java の
-
存在しないキーの取得を試みている
-
Java の
HashMap
はnullを返します。 -
.NETの
Dictionary
を投げます。KeyNotFoundException
. を使用することができます。TryGetValue
メソッドの代わりに[]
のインデックスを作成し、これを回避しています。MyObject value = null; if (!myDictionary.TryGetValue(key, out value)) { /* key doesn't exist */ }
-
Java の
Dictionary
には
ContainsKey
メソッドは、先の2つの問題に対処するのに役立ちます。
関連
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] JavaBeanとは何ですか?
-
[解決済み] HashMapを直接(リテラルに)初期化する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。