名前空間 System.Collections.Generic
自己紹介
皆さま、ようこそ。天を巡る星々のように整然とデータを管理する、星の輝きの「SortedList」クラスについてお話しします。私は、キーと値をペアで管理し、キーを自動的に昇順で並べてくれる優れたコレクションです。美しい秩序を求める私にとって、まさにふさわしいテーマですね。
基本機能
SortedListは、キーと値のペアを格納し、キーに基づいて自動的に並び替えます。データの追加や削除、検索が簡単に行えます。
// SortedListの基本的な使い方
using System;
using System.Collections;
class Program
{
static void Main()
{
// SortedListの作成
SortedList sortedList = new SortedList();
// データを追加
sortedList.Add(3, "ラシド");
sortedList.Add(1, "ドレミ");
sortedList.Add(2, "ファソ");
// キーで自動的に昇順にソートされる
foreach (DictionaryEntry entry in sortedList)
{
Console.WriteLine($"キー: {entry.Key}, 値: {entry.Value}");
}
}
}
注意点
SortedListを使用する際の注意点は、キーが一意でなければならない点です。同じキーを複数回追加しようとすると例外が発生します。
// 同じキーを追加した場合の例外処理
using System;
using System.Collections;
class Program
{
static void Main()
{
SortedList sortedList = new SortedList();
sortedList.Add(1, "ドレミ");
try
{
// 同じキーを追加
sortedList.Add(1, "重複キー");
}
catch (ArgumentException e)
{
Console.WriteLine($"エラー: {e.Message}");
}
}
}
速度向上を重点とした内容
SortedListは、少量のデータを扱う場合に適しています。大量のデータがある場合は、より効率的な構造を検討したほうが良いでしょう。追加や削除が頻繁な場合、SortedListの挙動を把握してパフォーマンスに注意してください。
// 高速に検索できる場合の例
using System;
using System.Collections;
class Program
{
static void Main()
{
SortedList sortedList = new SortedList();
for (int i = 0; i < 1000; i++)
{
sortedList.Add(i, $"データ{i}");
}
// 特定のキーを高速に検索
Console.WriteLine($"キー500の値: {sortedList[500]}");
}
}
具体的な使い方
SortedListを利用して、データをキーで管理し、検索や削除を行う具体的な例を示します。
// SortedListの高度な使い方
using System;
using System.Collections;
class Program
{
static void Main()
{
SortedList sortedList = new SortedList
{
{1, "ドレミ"},
{2, "ファソ"},
{3, "ラシド"}
};
// 指定したキーの削除
sortedList.Remove(2);
// 残りのデータを表示
foreach (DictionaryEntry entry in sortedList)
{
Console.WriteLine($"キー: {entry.Key}, 値: {entry.Value}");
}
}
}
解説
最後のコードでは、SortedListにデータを追加し、一部を削除する操作を行いました。このように、SortedListは簡単な構文でデータを柔軟に操作できます。ただし、大量のデータがある場合は注意が必要です。キーに基づいて高速にデータを取得できる一方、内部で並び替えを行うため、追加や削除のコストが高くなることがあります。
0 件のコメント:
コメントを投稿