C#でDictionary(辞書)のキーを検索する方法【ContainsKey()の使い方】
C#のDictionary(辞書)は、キーと値のペアを格納できる便利なコレクションです。この記事では、特定のキーがDictionary内に存在するかどうかを確認する方法を、サンプルコード付きでわかりやすく解説します。
Dictionaryの準備
まず、要素を含むDictionaryコレクションを作成しましょう。以下の例では、カテゴリIDをキー、商品カテゴリ名を値として格納しています。
Dictionary<int, string> d = new Dictionary<int, string>() {
{1, "Electronics"},
{2, "Clothing"},
{3, "Toys"},
{4, "Footwear"},
{5, "Accessories"}
};ContainsKey()メソッドでキーの存在を確認する
たとえば、「キー5が存在するかどうか」を確認したい場合には、ContainsKey()メソッドを使用します。このメソッドは、指定したキーが見つかった場合にtrueを返し、見つからない場合はfalseを返します。
d.ContainsKey(5);
ContainsKey()メソッドは内部的にハッシュテーブルを利用しているため、ほぼO(1)の高速な検索が可能です。大量のデータを扱う場合でもパフォーマンスを気にせず使用できます。
サンプルコード全体
それでは、Dictionaryの内容を表示しながら、キー5の存在確認を行う完全なコードを見てみましょう。
using System;
using System.Collections.Generic;
public class Program {
public static void Main() {
Dictionary<int, string> d = new Dictionary<int, string>() {
{1, "Electronics"},
{2, "Clothing"},
{3, "Toys"},
{4, "Footwear"},
{5, "Accessories"}
};
// Dictionaryの全要素を表示
foreach (KeyValuePair<int, string> ele in d) {
Console.WriteLine("Key = {0}, Value = {1}", ele.Key, ele.Value);
}
// キー5が存在するか確認
Console.WriteLine("Key 5 exists? " + d.ContainsKey(5));
}
}実行結果
Key = 1, Value = Electronics Key = 2, Value = Clothing Key = 3, Value = Toys Key = 4, Value = Footwear Key = 5, Value = Accessories Key 5 exists? True
実行結果の最後の行「Key 5 exists? True」から、キー5がDictionaryに存在することが確認できました。
補足:TryGetValue()メソッドとの使い分け
キーの存在確認に加えて、対応する値も取得したい場合はTryGetValue()メソッドが便利です。このメソッドを使えば、ContainsKey()で確認してから値を取り出すという2段階の処理を、1回の呼び出しで実現できます。
if (d.TryGetValue(5, out string value)) {
Console.WriteLine($"キー5の値: {value}");
} else {
Console.WriteLine("キー5は存在しません");
}用途に応じてContainsKey()とTryGetValue()を使い分けることで、より効率的で安全なコードを書くことができます。
-
Pythonで辞書から値の大きい上位3件を取得する方法
この記事では、Pythonの辞書(dict)から値が最も大きい上位3件の要素を取り出す方法について解説します。 課題 与えられた辞書から、値の大きい上位3件の「キー : 値」のペアを出力することを目標とします。 これを実現する主なアプローチとして、以下の2つの方法があります。 方法1:collections.Counter() を使う 標準ライブラリの collections モデルにある Counter クラスを利用すると、most_common() メソッドで簡単に上位N件を取得できます。 コード例 # collectionsモジュールをインポート from collections imp
-
【Python】辞書から最も大きい3つの値を取得する方法
この記事では、Pythonの辞書(dict)に格納された値の中から、最も大きい3つの値を取り出して表示する方法を解説します。 問題文 与えられた辞書から、値が大きい順に上位3つの「キー:値」のペアを抽出し、画面に表示します。 方法1:collectionsモジュールのCounter関数を使う collectionsモジュールのCounterクラスは、most_common()メソッドを提供しています。引数に個数を指定すると、値の大きい順に(キー, 値)のタプルをリスト形式で取得できます。 サンプルコード from collections import Counter # 初期化した辞書 m