C#でSortedListを作成する方法をわかりやすく解説
C#のSortedListは、キーに基づいて自動的にソートされるキーと値(Key-Value)ペアのコレクションです。要素は常にキーの順序で格納され、キーやインデックスを使ってアクセスできるのが特徴です。
SortedListを作成するには、System.Collections名前空間をインポートした上で、new SortedList()によりインスタンスを生成し、Add()メソッドで要素を追加していきます。
例1:基本的なSortedListの作成
以下のコードでは、文字列のキーと値を持つSortedListを作成し、foreachループと列挙子(Enumerator)の2通りの方法で要素を表示しています。
using System;
using System.Collections;
public class Demo {
public static void Main(String[] args){
SortedList sortedList = new SortedList();
sortedList.Add("A", "1");
sortedList.Add("B", "2");
sortedList.Add("C", "3");
sortedList.Add("D", "4");
sortedList.Add("E", "5");
sortedList.Add("F", "6");
sortedList.Add("G", "7");
sortedList.Add("H", "8");
sortedList.Add("I", "9");
sortedList.Add("J", "10");
Console.WriteLine("SortedList elements...");
foreach(DictionaryEntry d in sortedList){
Console.WriteLine("Key = "+d.Key + ", Value = " + d.Value);
}
Console.WriteLine("Count of SortedList key-value pairs = " + sortedList.Count);
Console.WriteLine("\nEnumerator to iterate through the SortedList...");
IDictionaryEnumerator demoEnum = sortedList.GetEnumerator();
while (demoEnum.MoveNext())
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
}
出力結果
上記のコードを実行すると、次のような出力が得られます。
SortedList elements... Key = A, Value = 1 Key = B, Value = 2 Key = C, Value = 3 Key = D, Value = 4 Key = E, Value = 5 Key = F, Value = 6 Key = G, Value = 7 Key = H, Value = 8 Key = I, Value = 9 Key = J, Value = 10 Count of SortedList key-value pairs = 10 Enumerator to iterate through the SortedList... Key = A, Value = 1 Key = B, Value = 2 Key = C, Value = 3 Key = D, Value = 4 Key = E, Value = 5 Key = F, Value = 6 Key = G, Value = 7 Key = H, Value = 8 Key = I, Value = 9 Key = J, Value = 10
コードのポイント
- Add()メソッド:キーと値のペアをSortedListに追加します。キーは自動的に昇順にソートされます。
- foreach+DictionaryEntry:各要素を
DictionaryEntryとして取り出し、Key・Valueプロパティで参照できます。 - Countプロパティ:SortedListに含まれるキーと値のペアの総数を取得します。
- IDictionaryEnumerator:
GetEnumerator()で列挙子を取得し、MoveNext()を使って先頭から順に要素を走査できます。
例2:IndexOfValueメソッドで値のインデックスを取得する
続いて、IndexOfValue()メソッドを使って、指定した値がSortedList内のどのインデックス位置にあるかを確認する例を見てみましょう。
using System;
using System.Collections;
public class Demo {
public static void Main(String[] args){
SortedList list1 = new SortedList();
list1.Add("One", 1);
list1.Add("Two ", 2);
list1.Add("Three ", 3);
list1.Add("Four", 4);
list1.Add("Five", 5);
list1.Add("Six", 6);
list1.Add("Seven ", 7);
list1.Add("Eight ", 8);
list1.Add("Nine", 9);
list1.Add("Ten", 10);
Console.WriteLine("SortedList1 elements...");
foreach(DictionaryEntry d in list1){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.Write("Index at value 7 = "+list1.IndexOfValue(7));
SortedList list2 = new SortedList();
list2.Add("A", "Accessories");
list2.Add("B", "Books");
list2.Add("C", "Smart Wearable Tech");
list2.Add("D", "Home Appliances");
Console.WriteLine("\n\nSortedList2 elements...");
foreach(DictionaryEntry d in list2){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.Write("Index at value Books = "+list2.IndexOfValue("Books"));
}
}
出力結果
実行すると、以下のように表示されます。
SortedList1 elements... Eight 8 Five 5 Four 4 Nine 9 One 1 Seven 7 Six 6 Ten 10 Three 3 Two 2 Index at value 7 = 5 SortedList2 elements... A Accessories B Books C Smart Wearable Tech D Home Appliances Index at value Books = 1
このように、SortedListを利用すれば、常にキー順に整列された状態のコレクションを手軽に管理できます。値からインデックスを逆引きしたい場合にはIndexOfValue()、キーからインデックスを知りたい場合にはIndexOfKey()が便利なので、用途に応じて使い分けるとよいでしょう。
-
AndroidでCircularImageView(円形画像)を作成する方法を徹底解説
本記事では、AndroidアプリでCircularImageView(円形の画像ビュー)を作成する方法を、初心者にもわかりやすいようステップごとに解説します。ステップ1:新規プロジェクトの作成まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトを新規作成してください。ステップ2:CircularImageViewライブラリの導入円形ビューを実現するには、build.gradleファイルにCircularImageViewライブラリを追加します。以下のように依存関係を記述しましょう
-
Apple IDの作成方法を完全解説|子ども用アカウントや2ファクタ認証の設定まで
Apple製品やサービスを使いこなすうえで、Apple IDは欠かせない存在です。幸い、その作成はとても簡単。この記事では、自分用・お子様用のApple IDの作り方から、強固なセキュリティ設定、ファミリー共有グループの始め方まで、わかりやすく解説します。 Apple IDを作成する手順 Apple IDは、Apple公式サイトのApple IDページ(appleid.apple.com)にアクセスし、「Apple IDを作成」をクリックするだけで登録できます。 appleid.apple.com は、Apple IDの作成と管理を行うためのオンライン窓口です Apple IDの登録にあたっ