| Meetod | Selgitus |
|---|---|
Add(item) | Lisa element lõppu |
Contains(item) | Kontrolli, kas element on olemas |
Count | Elementide arv |
Insert(i,item) | Lisa kindlasse kohta |
IndexOf(item) | Otsi elemendi indeks |
Sort() | Järjesta kasvavalt |
1. Sõnastikud (Dictionaries)
Sõnastikud (Dictionary<TKey, TValue>) on andmestruktuurid, kus iga element koosneb kahest osast:
- Key — unikaalne võtmeväärtus (tavaliselt mingi tekst või number).
- Value — väärtus, mis on seotud antud võtmega (näiteks tekst, number, objekt jne).
Koodis on sõnastik kasutusel piirkondade ja nende pealinnade salvestamiseks:
Dictionary<string, string> okrugid = new Dictionary<string, string>()
{
{"Harjumaa", "Tallinn"},
{"Tartumaa", "Tartu"},
{"Pärnumaa", "Pärnu"},
{"Ida-Virumaa", "Jõhvi"},
{"Läänemaa", "Haapsalu"}
};
—————————————————————————————-
2. Kasutaja interaktsioon ja andmete lisamine
Programmi ülesanne on võimaldada kasutajal teha järgmisi tegevusi:
- Otsi piirkonda (okrugi) järgi: Sisestades maakonna nime, saab teada selle pealinna.
- Otsi pealinna järgi: Sisestades pealinna nime, saab teada, milline on vastav maakond.
- Lisamine, kui andmed puuduvad: Kui sisestatud piirkond või pealinn puudub sõnastikus, saab kasutaja lisada uue andmepaari.
if (okrugid.ContainsKey(okrug)) // Kui sõnastikus on juba see piirkond
{
Console.WriteLine($"{okrug} stolits on {okrugid[okrug]}.");
}
else
{
Console.WriteLine("Okrugi ei leitud. Sisesta stolitsa nimi, et lisada see sõnastikku:");
string stolitsa = Console.ReadLine();
okrugid[okrug] = stolitsa; // Lisame sõnastikku uue paari
Console.WriteLine("Okrug ja stolitsa lisatud.");
}
—————————————————————————————-
3. Millal mida kasutada?
| Andmetüüp | Millal kasutada? |
|---|---|
| ArrayList | Lihtsaks prototüüpimiseks (vanem kood) |
| List | Enamiku tavaliste andmekogumite jaoks |
| LinkedList | Kui palju lisada/teha muudatusi keskel |
| Dictionary<K,V> | Kiire otsing võtme alusel |
| Tuple<T1,T2> | Ajutiseks mitme eri tüübi väärtuse hoidmiseks |
Kokkuvõte:
- Sõnastikud (
Dictionary) on kasulikud, kui andmed tuleb siduda unikaalse võtme alusel ja neid on vaja kiiresti leida. See tagab kiire juurdepääsu andmetele. - Listid (
List<T>) sobivad, kui on vaja salvestada järjekorras olevaid elemente, näiteks mängu tegemiseks või muudatusi järjekorda panna. - Kasutaja saab alati lisada uusi andmeid ja vastata küsimustele, millel põhineb sõnastiku abil toimuv otsing ja mäng.

