Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
32
Добавлен:
15.01.2021
Размер:
90.99 Кб
Скачать

Приклад 3.

Створимо клас Person для з властивостями Name, Rating.

class Person

{

public string Name { get; set; }

public int Rating { get; set; }

}

Створимо 2 множини для студентів двох груп, потім об’єднаємо ці множини.

static void Main(string[] args)

{

//створити 2 множини об'єктів

//

HashSet<Person> pi_71 = new HashSet<Person>();

pi_71.Add(new Person { Name = "Іванов", Rating = 60 });

pi_71.Add(new Person { Name = "Лазаренко", Rating = 65 });

pi_71.Add(new Person { Name = "Правдивий", Rating = 95 });

//

HashSet<Person> k_71 = new HashSet<Person>();

k_71.Add(new Person { Name = "Іванов", Rating = 60 });

k_71.Add(new Person { Name = "Митюк", Rating = 65 });

k_71.Add(new Person { Name = "Юшков", Rating = 10 });

//

HashSet<Person> union_group = new HashSet<Person>(pi_71);

union_group.UnionWith(k_71);

DisplaySet("Група ПІ-71", pi_71);

DisplaySet("Група K-71", k_71);

DisplaySet("Групи К,ПІ-71", union_group);

Console.ReadKey();

}

static void DisplaySet(string Message,HashSet<Person> set)

{

Console.WriteLine(Message);

foreach (Person pers in set)

{

Console.WriteLine(" {0}, {1}", pers.Name,pers.Rating);

}

}

}

Результат:

2.2. Клас SortedSet<T>

Клас SortedSet<T> представляє множину відсортованих елементів. Цей клас зручно застосовувати, якщо потрібно швидко відсортувати елементи, а також отримати відсортований результат операцій з множинами. Властивості і методи цього класу практично співпадають з властивостями і методами класу HashSet.

Приклад 4. Демонструє операції з відсортованими множинами

static void Main()

{

// Створення двох множин

SortedSet<char> ss = new SortedSet<char>();

SortedSet<char> ss1 = new SortedSet<char>();

ss.Add('A');

ss.Add('B');

ss.Add('C');

ss.Add('Z');

ShowColl(ss, "Перша колекція: ");

ss1.Add('X');

ss1.Add('Y');

ss1.Add('Z');

ShowColl(ss1, "Друга колекція");

ss.SymmetricExceptWith(ss1);

ShowColl(ss, "Виключення однакових елементів двох множин (симетрична різниця): ");

ss.UnionWith(ss1);

ShowColl(ss, "Об'єднання множин: ");

ss.ExceptWith(ss1);

ShowColl(ss, "Віднімання множин");

Console.ReadLine();

}

static void ShowColl(SortedSet<char> ss, string s)

{

Console.WriteLine(s);

foreach (char ch in ss)

Console.Write(ch + " ");

Console.WriteLine("\n");

}

}