A C # gyűjtemények áttekintése

Ebben a cikkben megismerjük a C # gyűjteményeit. A gyűjtési osztályok speciális osztályok a lekérdezéshez és az adatok tárolásához. Dinamikusan osztja el a memóriát az elemek között. Segítségével különféle műveleteket hajthatunk végre, például frissítést, visszakeresést, tárolást stb. A gyűjtemények tömbhöz hasonlóak. Itt nem kell előre meghatározni a méretet, a tömbtől eltérően.

Háromféle módon dolgozhat a gyűjteményekkel, amelyeket követ

  • System.Collections.Általános osztályok
  • System.Collections.Paporos osztályok
  • System.Collections osztályok

Példák a C # gyűjteményekre

Az alábbiakban található néhány példa a C típusú gyűjtemények különféle típusaira: -

1. példa - ArrayList

Ez a System.Collections gyűjteménye. Ez lehetővé teszi több adattípus adatainak tárolását, és az adatok hozzáadásakor automatikusan kibővül.

Kód:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ArrayListExample
(
class Program
(
static void Main(string() args)
(
var data = new ArrayList(); //arraylist collection
data.Add("Demo"); // add element
data.Add(1);
data.Add(5);
data.Add(26);
data.Add(56.4);
data.Add(32);
data.Remove(5); // remove element
foreach (object obj in data) // iteration
(
Console.WriteLine(obj);
Console.ReadLine();
)
)
)
)

A fenti példában található egy ArrayList típusú gyűjtemény. Van néhány elem az ArrayList-ben. Az Add () és az Remove () metódusokat használják az elemek hozzáadásához és eltávolításához a gyűjteményből. Az foreach az iterációhoz és az értékek megjelenítéséhez használható.

Kimenet:

2. példa - Itt a lista műveletet fogjuk használni

Ez a System.Collections.Generic névtér gyűjteménye.

Kód:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new List(); // list collection
value.Add("Cricket"); // add element
value.Add("Football");
value.Add("Volleyball");
value.Add("Hockey");
value.Add("Basketball");
value.Add("Tennis");
value.Remove("Football"); // remove element
value.Remove("Tennis");
value.Insert(3, "Badminton"); // insert element
foreach (string st in value)
(
Console.WriteLine(st);
Console.ReadLine();
)
)
)
)

A fenti példában a gyűjtemény lista típusú. Az Add () és az Remove () metódusokat használják az elemek hozzáadásához vagy eltávolításához a listából. Az Insert () -et arra is használják, hogy az elemet egy meghatározott indexbe illesszék a listába. Az Foreach iterációhoz és az értékek megjelenítéséhez használható.

Kimenet:

3. példa: Rendezett lista

A gyűjtemény kulcsaiból és értékeiből áll.

Kód:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new SortedList(); // sortedlist collection
value.Add("java", 3); // add element
value.Add("javascript", 4);
value.Add("c-sharp", 5);
value.Add("dotnet", 25);
value.Add("python", 27);
value.Add("typescript", 57);
foreach (var pair in value)
(
Console.WriteLine(pair);
Console.ReadLine();
)
)
)
)

A fenti példában a gyűjtemény típusú válogatott lista. A listában több pár kulcs és érték található. Alapvetően a rendezett kulcspárt és értékeket képviseli.

Kimenet:

4. példa: Kapcsolt lista

Alapvetően lehetővé teszi az elemek egymás utáni elérését.

Kód:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new LinkedList(); // linkedlist collection
value.AddLast(13); // add element
value.AddLast(33);
value.AddLast(23);
value.AddLast(51);
value.AddLast(60);
value.AddFirst(4);
value.AddFirst(6);
LinkedListNode node = value.Find(51); // find the node
value.AddBefore(node, 40);
foreach (int num in value)
(
Console.WriteLine(num);
Console.ReadLine();
)
)
)
)

A fenti példában a gyűjtemény Linkedlist típusú. Az AddLast () az elemet az utolsó pozícióba helyezi, míg az AddFirst () az elemet a lista első pozíciójába helyezi. A Linkedlist egy csomópontból áll. A Find () -et arra használjuk, hogy megkeressük az értéket és az előző helyértéket.

Kimenet :

5. példa - Szótár

Egyedi kulcspárból és értékekből áll.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var pair = new Dictionary(); // dictionary collection
pair.Add("in", "India"); // add keys and values
pair.Add("af", "Africa");
pair.Add("us", "United States");
pair.Add("ja", "Japan");
pair.Add("ch", "China");
pair.Add("ca", "Canada");
Console.WriteLine("Keys present in the dictionary:");
var key = new List(pair.Keys);
foreach (string k in key)
(
Console.WriteLine("(0)", k);
)
Console.WriteLine("Values present in the dictionary:");
var value = new List(pair.Values);
foreach (string val in value)
(
Console.WriteLine("(0)", val);
)
Console.ReadLine();
)
)
)

A fenti példában a gyűjtemény típusú szótár, amely tartalmazza a kulcsot és azok értékeit. Az Foreach a kulcsok és az értékek iterációjához használható.

Kimenet

6. példa - Verem

Ez az Utolsó előbb-be struktúrán alapul. A sor utolsó eleme az első, amelyet eltávolítani kell.

Kód:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(
static void Main(string() args)
(
var value = new Stack(); // stack collection
value.Push(10); // adding the element
value.Push(40);
value.Push(33);
value.Push(62);
value.Push(48);
value.Push(21);
value.Push(31);
Console.WriteLine(value.Pop());
Console.WriteLine(value.Peek());
Console.WriteLine();
foreach (int item in value)
(
Console.WriteLine(item);
Console.ReadLine();
)
)
)
)

A fenti példában a gyűjtemény stack típusú. A nyomógomb () az elem felső részének beillesztésére szolgál. A Pop () elem az elem eltávolításához és visszajuttatásához, a Peek () pedig a verem felső elemének visszajuttatására szolgál.

Kimenet:

7. példa - Sor

Az első-az-első-ki-struktúrán alapul. A sor első eleme az első, amelyet eltávolítani kell.

Kód:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Collections
(
class Program
(static void Main(string() args)
(
var value = new Queue(); // queue collection
value.Enqueue("Item 1"); // add element
value.Enqueue("Item 2");
value.Enqueue("Item 3");
value.Enqueue("Item 4");
value.Enqueue("Item 5");
value.Enqueue("Item 6");
value.Enqueue("Item 7");
Console.WriteLine(value.Dequeue());
Console.WriteLine(value.Peek());
Console.WriteLine();
foreach (string num in value)
(
Console.WriteLine(num);
Console.ReadLine();
)
)
)
)

A fenti példában; a gyűjtemény típusú sor. Enqueue () a beszúró elemre a sor végén. A Dequeue () az elem eltávolítására szolgál a sor elejétől . A Peek () a cikk visszaküldésére szolgál.

Kimenet:

Tehát számos módon felhasználhatjuk a gyűjteményeket. A gyűjtemények tömbhöz hasonlóak. Itt nem kell előre meghatározni a méretet, a tömbtől eltérően.

Ajánlott cikkek

Ez egy útmutató a C # gyűjteményekhez. Itt a C # gyűjtemények áttekintését és különféle példáit tárgyaljuk a kód implementációval és az ouput-tal. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. Teljes útmutató a C # szerinti rendezéshez
  2. Iteratorok módszerei a C # -ben
  3. Minták típusai a C # -ben
  4. Hogyan működik a mutatók a C # -ben?

Kategória: