Огляд колекцій у C #

У цій статті ми збираємось дізнатись про колекції в C #. Класи колекціонування - це спеціалізовані класи для пошуку та зберігання даних. Він динамічно розподіляє пам'ять для елементів. За його допомогою ми можемо виконувати різні операції, такі як оновлення, отримання, зберігання тощо. Колекції схожі на масив. Тут нам не потрібно заздалегідь визначати розмір на відміну від масиву.

Існує 3 способи роботи з наступними колекціями

  • Система.Колекції. Загальні класи
  • System.Collections.Concurrent класи
  • System.Collections класів

Приклади колекцій у C #

Нижче наведено кілька прикладів колекцій різного типу в C #: -

Приклад №1 - ArrayList

Це колекція System.Collections. Це дозволяє зберігати дані декількох типів даних, і як дані додаються, вони розширюються автоматично.

Код:

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();
)
)
)
)

У наведеному вище прикладі є колекція типу ArrayList. У ArrayList є деякі елементи. Add () та Remove () - це методи, які застосовуються відповідно для додавання та видалення елементів із колекції. foreach використовується для ітерації та відображення значень.

Вихід:

Приклад №2 - Тут ми будемо використовувати список операцій

Це колекція простору імен System.Collections.Generic.

Код:

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();
)
)
)
)

У наведеному вище прикладі колекція має тип списку. Методи Add () та Remove () використовуються для додавання або видалення елементів зі списку відповідно. Insert () також використовується для вставки елемента у список із визначеним індексом. Foreach використовується для ітерації та відображення значень.

Вихід:

Приклад №3: Відсортований список

Він складається з ключа та значень у колекції.

Код:

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();
)
)
)
)

У наведеному вище прикладі колекція складається з сортованого списку типів. У списку є кілька пар ключів і значень. Він в основному представляє відсортовану пару ключів і значень.

Вихід:

Приклад №4: Пов'язаний список

Це в основному дозволяє послідовно отримати доступ до елементів.

Код:

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();
)
)
)
)

У наведеному вище прикладі колекція має тип Linkedlist. AddLast () використовується для розміщення елемента в останньому позиції, тоді як AddFirst () використовується для розміщення елемента на першій позиції списку. Пов'язаний список складається з вузла. Find () використовується для пошуку значення та значення місця перед ним.

Вихід:

Приклад №5 - Словник

Він складається з унікальної пари ключів і значень.

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();
)
)
)

У наведеному вище прикладі колекція - це словник типу, який містить ключ та їх значення. Foreach використовується для ітерації ключів та значень.

Вихід

Приклад №6 - Стек

Він заснований на структурі «Останній-в-першому». Останній елемент черги - перший, який потрібно видалити.

Код:

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();
)
)
)
)

У наведеному вище прикладі колекція має тип стека. Push () використовується для вставки елемента вгорі. Pop () призначений для видалення та повернення елемента, а Peek () - для повернення верхнього елемента стека.

Вихід:

Приклад №7 - Черга

Він заснований на структурі «Перший-у-першому». Перший елемент черги - перший, який потрібно видалити.

Код:

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();
)
)
)
)

У наведеному прикладі; колекція складається з черги типів. Enqueue () - це елемент, що вставляє в кінці черги. Dequeue () призначений для видалення елемента з початку черги . Peek () використовується для повернення елемента.

Вихід:

Тож існує багато способів використання колекцій. Колекції схожі на масив. Тут нам не потрібно заздалегідь визначати розмір на відміну від масиву.

Рекомендовані статті

Це був посібник для колекцій у C #. Тут ми обговорюємо огляд та різні приклади колекцій у C # з реалізацією коду та вихідними. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Повне керівництво по сортуванню в C #
  2. Методи ітераторів в C #
  3. Типи візерунків у C #
  4. Як працюють покажчики в C #?