C #. Клас ArrayList. Приклади програмного коду | BestProg
- C #. Клас ArrayList. Приклади програмного коду
- ⇑
- ⇑
- ⇑
- 5. Як додати новий елемент в колекцію ArrayList?
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- 5. Як додати новий елемент в колекцію ArrayList?
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- 5. Як додати новий елемент в колекцію ArrayList?
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- 5. Як додати новий елемент в колекцію ArrayList?
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- 5. Як додати новий елемент в колекцію ArrayList?
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
C #. Клас ArrayList. Приклади програмного коду
зміст
1. До якого виду колекцій належить клас ArrayList?
Відповідь: до неузагальнених колекціям.
⇑
2. Які інтерфейси реалізуються в класі ArrayList?
У класі ArrayList реалізуються інтерфейси ICollection, IList, IEnumerable, ICloneable.
⇑
3. Як створити порожню колекцію ArrayList?
У цьому рядку створюється порожня колекція типу ArrayList з ім'ям al:
ArrayList al = new ArrayList ();⇑
4. Як створити колекцію ArrayList ємністю 25 елементів?
ArrayList al = new ArrayList (25);⇑
5. Як додати новий елемент в колекцію ArrayList?
Щоб додати новий елемент в колекцію ArrayList потрібно використовувати метод Add (). В даному прикладі формується динамічний масив з 3-х елементів: [12, 23, 88].
al.Add (12); // додає число 12 до динамічного масиву al.Add (23); // додає число 23 до динамічного масиву al.Add (88); // додає число 88 до динамічного масивуЕлементи, які додані в колекцію мають тип object (рис. 1).
Малюнок 1. Тип елементів ArrayList
⇑
6. Як визначити кількість елементів масиву типу ArrayList? Властивість Count.
Для цього використовується властивість Count.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); // кількість елементів int n; n = al.Count; // n = 3⇑
7. Як перевести масив типу ArrayList в масив цілих чисел?
Приклад демонстрації методу ToArray () з класу ArrayList.
В даному прикладі відбувається перетворення масиву al типу ArrayList в масив цілих чисел ar. Також обчислюється сума sum елементів масиву ar.
ArrayList al = new ArrayList (); // додати три числа до динамічного масиву al.Add (10); al.Add (20); al.Add (30); int sum = 0; // перетворення масиву al в масив цілих чисел ar int [] ar = (int []) al.ToArray (typeof (int)); // знаходження суми for (int i = 0; i <ar.Length; i ++) {sum + = ar [i]; } Label1.Text = sum.ToString (); // вивід значення суми на форму⇑
8. Організація роботи класу ArrayList зі структурами на прикладі структури типу КНИГА (BOOK).
8.1. Організація масиву структур типу BOOK (книга). Метод Add ().
Нехай задана структура типу КНИГА:
struct BOOK {public string Author; public string Title; public int year; public double price; };Організувати динамічний масив типу struct BOOK використовуючи клас ArrayList.
відповідь:
// створити першу книгу BOOK b1 = new BOOK (); ArrayList al = new ArrayList (); b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-02"; b1.Title = "Title-02"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // додати книгу в масив⇑
8.2. Як перевести динамічний масив ArrayList в масив структур? Демонстрація методу ToArray () з класу ArrayList для структури типу BOOK (КНИГА).
В даному прикладі реалізується перетворення динамічного масиву al типу ArrayList в масив структур типу BOOK. Ім'я масиву структур - ar.
BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK));⇑
8.3. Як визначити кількість елементів структури типу BOOK (КНИГА) в масиві ArrayList?
Нехай задана структура типу BOOK (КНИГА) з внесеними даними про двох книгах (див. П. 8.1). Щоб визначити кількість внесених книг, потрібно використовувати властивість Count.
int n; n = al.Count; // n = 2⇑
9. Як видалити всі елементи з масиву типу ArrayList? Властивість Clear ().
ArrayList al = new ArrayList (); al.Add (10); // додати числа до масиву al al.Add (20); al.Add (30); // видалити всі елементи з масиву al.Clear (); // al.Count = 0⇑
10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
Приклад 1. Видалення елемента 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); // додати три числа al.Add (20); al.Add (30); al.Remove (20); // видалили елемент із значенням 20Команда Remove () видаляє перший елемент, який зустрівся з заданим значенням. Тобто, якщо в списку кілька елементів зі значенням 20, то видалений буде тільки перший елемент.
Приклад 2. Видалення кількох елементів 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (20); al.Add (20); // al = [10, 20, 30, 20, 20] al.Remove (20); // al = [10, 30, 20, 20] al.Remove (20); // al = [10, 30, 20]⇑
11. Як скопіювати в іншу область пам'яті елемент типу ArrayList? Метод Clone ().
Якщо виконати привласнення двох об'єктів типу ArrayList, то вони будуть посилатися на одну і ту ж область пам'яті (малюнок 2).
приклад:
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); // додає число 10 до динамічного масиву al.Add (20); al.Add (30); al2 = al; // al2 = al = [10, 20, 30] - вказують на одну область пам'яті al2.Remove (20); // al = [10, 30]Малюнок 2. Змінні al і al2 вказують на загальний ділянку пам'яті, який був виділений при описі змінної al
Якщо потрібно зробити копію з змінної al з одночасним виділенням додаткової пам'яті, то слід використовувати метод Clone (). У цьому випадку змінні al і al2 вказують на різні ділянки пам'яті (рисунок 3).
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); al.Add (20); al.Add (30); al2 = (ArrayList) al.Clone (); al2.Remove (20); // al = [10, 20, 30]; al2 = [10, 30]Малюнок 3. Результат копіювання методом Clone () класу ArrayList
⇑
12. Визначення наявності елемента в масиві ArrayList. Метод Contains ().
Метод Contains () повертає true, якщо заданий елемент є в списку ArrayList. Інакше, метод повертає false.
ArrayList al = new ArrayList (); al.Add (25); al.Add (-18); al.Add (33); bool is_el; is_el = al.Contains (-18); // is_el = True is_el = al.Contains (50); // is_el = False⇑
13. Як з масиву ArrayList вибрати його частину? Метод GetRange ().
Метод GetRange () повертає масив типу ArrayList, який є підмножиною поточного масиву ArrayList.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2; al.Add (0); al.Add (1); al.Add (2); al.Add (3); al.Add (4); al.Add (5); // al = [0, 1, 2, 3, 4, 5] al2 = al.GetRange (2, 3); // al2 = [2, 3, 4]⇑
14. Приклад обчислення суми елементів масиву типу ArrayList.
В даному прикладі обчислюється сума елементів масиву ArrayList. Елементи масиву приводяться до типу double.
ArrayList al = new ArrayList (); double sum = 0; al.Add (0.6); al.Add (-10.45); al.Add (2.667); al.Add (300.78); for (int i = 0; i <al.Count; i ++) {sum = sum + (double) al [i]; listBox1.Items.Add (al [i]); } Label1.Text = sum.ToString (); // sum = 293.597⇑
15. Пошук позиції першого входження елемента в масиві ArrayList. Метод IndexOf ().
Для визначення позиції першого входження заданого елемента в масиві ArrayList використовується функція IndexOf (). Функція повертає позицію першого входження. Якщо заданого елемента немає в масиві, то функція повертає -1.
Функція має три перевантажених варіанту.
Нехай сформований наступний масив.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); al.Add (40); al.Add (30); // al = [10, 20, 30, 40, 50, 40, 30]Приклад 1. Пошук позиції першого входження заданого елемента.
index = al.IndexOf (30); // index = 2Приклад 2. Пошук позиції починаючи з заданого індексу до кінця масиву. Функція має два параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук.
index = al.IndexOf (30, 3); // index = 6Приклад 3. Пошук позиції заданого елемента. Функція має три параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук. Третій параметр - кількість символів, які розглядаються під час пошуку.
index = al.IndexOf (30, 3, 2); // index = -1⇑
16. Як вставити елемент в задану позицію масиву ArrayList? Метод Insert ().
Метод Insert () призначений для вставки елемента в задану позицію. Метод має два параметри. Перший параметр - елемент, який вставляється. Другий параметр - позиція елемента.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al.Insert (0, 5); // al = [5, 10, 20, 50] al.Insert (3, 60); // al = [5, 10, 20, 50, 60] // помилка - позиція виходить за межі масиву // al.Insert (8, 30);⇑
17. Як в масив ArrayList вставити інший масив із заданої позиції? Метод InsertRange ().
Метод InsertRange () дозволяє вставляти подмассів в масив типу ArrayList. Метод отримує два параметри. Перший параметр - позиція вставки. Другий параметр - масив, який вставляється.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al2.Add (30); al2.Add (40); // al2 = [30, 40] al.InsertRange (2, al2); // al = [10, 20, 30, 40, 50]⇑
18. Визначення останнього входження заданого елемента. Метод LastIndexOf ().
Метод LastIndexOf () знаходить позицію останнього входження елемента. Метод здійснює пошук з кінця до початку. Якщо елемент не знайдений, то метод повертає -1.
Метод має три перевантажених варіанту.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (50); al.Add (30); al.Add (20); al.Add (10); // al = [10, 20, 30, 50, 30, 20, 10] int index; // пошук значення 20 від кінця масиву до його початку index = al.LastIndexOf (20); // index = 5 // пошук значення 30 з позиції 1 до початку масиву index = al.LastIndexOf (30, 1); // index = -1 // пошук значення 10 з позиції 5 до початку, розглядаються 2 елементи index = al.LastIndexOf (10, 5, 2); // index = -1⇑
19. Як видалити елемент з масиву ArrayList, що знаходиться в заданій позиції? Метод RemoveAt ().
Щоб в масиві ArrayList видалити елемент із заданої позиції потрібно використовувати метод RemoveAt ().
Приклад.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] index = 3; al.RemoveAt (index); // al = [10, 20, 30, 50]⇑
20. Видалення діапазону значень, заданих індексами. Метод RemoveRange ().
Щоб з масиву ArrayList видалити кілька елементів заданих діапазоном, потрібно використовувати метод RemoveRange (). Метод приймає два параметри. Перший параметр - індекс, з якого починається видалення. Другий параметр - кількість символів, які видаляються.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.RemoveRange (1, 2); // al = [10, 40, 50]⇑
21. Реверс масиву ArrayList. Функція Reverse ().
Функція Reverse () обгортає масив типу ArrayList в зворотному порядку. Функція має два перевантажених варіанту.
Приклад 1. Використання функції Reverse ().
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (); // al = [50, 40, 30, 20, 10]Приклад 2. Функція Reverse () з двома параметрами. Перший параметр - номер позиції, з якої здійснюється реверс. Другий параметр - кількість елементів, який обробляється.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (2, 3); // al = [10, 20, 50, 40, 30]⇑
22. Копіювання елементів масиву ArrayList в інший масив. Метод SetRange ().
Метод SetRange () копіює елементи масиву ArrayList в інший масив ArrayList, замінюючи їх.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al2.Add (5); al2.Add (15); al2.Add (25); // al2 = [5, 15, 25] al.SetRange (2, al2); // al = [10, 20, 5, 15, 25]⇑
23. Як сортувати масив типу ArrayList? Метод Sort ().
Метод Sort () сортує елементи масиву ArrayList використовуючи реалізацію інтерфейсу IComparable.
Приклад.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] al.Sort (); // al = [-8, -2, 0, 5, 10]⇑
24. Як скопіювати дані з ArrayList в компонент ListBox?
Приклад 1.
Нижче наведено приклад копіювання даних з масиву ArrayList в компонент ListBox для його відображення на формі.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (al [i]); }Приклад 2. Копіювання структури типу BOOK (КНИГА).
Нехай дана наступна структура:
struct BOOK {public string Author; public string Title; public int year; public double price; };Щоб додати дані потрібно використовувати наступний код:
BOOK b1 = new BOOK (); ArrayList al = new ArrayList (25); // створити першу книгу b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-2"; b1.Title = "Title-2"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // перетворення книги BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK)); // видалити всі елементи з масиву al.Clear (); // al.Count = 0 listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (ar [i] .Author + "-" + ar [i] .Title + "-" + ar [i] .year .ToString () + "-" + ar [i] .price.ToString ()); }⇑
C #. Клас ArrayList. Приклади програмного коду
зміст
1. До якого виду колекцій належить клас ArrayList?
Відповідь: до неузагальнених колекціям.
Щоб підключити неузагальнених колекцію потрібно в тексті програми вказати:
using System.Collections;⇑
2. Які інтерфейси реалізуються в класі ArrayList?
У класі ArrayList реалізуються інтерфейси ICollection, IList, IEnumerable, ICloneable.
⇑
3. Як створити порожню колекцію ArrayList?
У цьому рядку створюється порожня колекція типу ArrayList з ім'ям al:
ArrayList al = new ArrayList ();⇑
4. Як створити колекцію ArrayList ємністю 25 елементів?
ArrayList al = new ArrayList (25);⇑
5. Як додати новий елемент в колекцію ArrayList?
Щоб додати новий елемент в колекцію ArrayList потрібно використовувати метод Add (). В даному прикладі формується динамічний масив з 3-х елементів: [12, 23, 88].
al.Add (12); // додає число 12 до динамічного масиву al.Add (23); // додає число 23 до динамічного масиву al.Add (88); // додає число 88 до динамічного масивуЕлементи, які додані в колекцію мають тип object (рис. 1).
Малюнок 1. Тип елементів ArrayList
⇑
6. Як визначити кількість елементів масиву типу ArrayList? Властивість Count.
Для цього використовується властивість Count.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); // кількість елементів int n; n = al.Count; // n = 3⇑
7. Як перевести масив типу ArrayList в масив цілих чисел?
Приклад демонстрації методу ToArray () з класу ArrayList.
В даному прикладі відбувається перетворення масиву al типу ArrayList в масив цілих чисел ar. Також обчислюється сума sum елементів масиву ar.
ArrayList al = new ArrayList (); // додати три числа до динамічного масиву al.Add (10); al.Add (20); al.Add (30); int sum = 0; // перетворення масиву al в масив цілих чисел ar int [] ar = (int []) al.ToArray (typeof (int)); // знаходження суми for (int i = 0; i <ar.Length; i ++) {sum + = ar [i]; } Label1.Text = sum.ToString (); // вивід значення суми на форму⇑
8. Організація роботи класу ArrayList зі структурами на прикладі структури типу КНИГА (BOOK).
8.1. Організація масиву структур типу BOOK (книга). Метод Add ().
Нехай задана структура типу КНИГА:
struct BOOK {public string Author; public string Title; public int year; public double price; };Організувати динамічний масив типу struct BOOK використовуючи клас ArrayList.
відповідь:
// створити першу книгу BOOK b1 = new BOOK (); ArrayList al = new ArrayList (); b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-02"; b1.Title = "Title-02"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // додати книгу в масив⇑
8.2. Як перевести динамічний масив ArrayList в масив структур? Демонстрація методу ToArray () з класу ArrayList для структури типу BOOK (КНИГА).
В даному прикладі реалізується перетворення динамічного масиву al типу ArrayList в масив структур типу BOOK. Ім'я масиву структур - ar.
BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK));⇑
8.3. Як визначити кількість елементів структури типу BOOK (КНИГА) в масиві ArrayList?
Нехай задана структура типу BOOK (КНИГА) з внесеними даними про двох книгах (див. П. 8.1). Щоб визначити кількість внесених книг, потрібно використовувати властивість Count.
int n; n = al.Count; // n = 2⇑
9. Як видалити всі елементи з масиву типу ArrayList? Властивість Clear ().
ArrayList al = new ArrayList (); al.Add (10); // додати числа до масиву al al.Add (20); al.Add (30); // видалити всі елементи з масиву al.Clear (); // al.Count = 0⇑
10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
Приклад 1. Видалення елемента 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); // додати три числа al.Add (20); al.Add (30); al.Remove (20); // видалили елемент із значенням 20Команда Remove () видаляє перший елемент, який зустрівся з заданим значенням. Тобто, якщо в списку кілька елементів зі значенням 20, то видалений буде тільки перший елемент.
Приклад 2. Видалення кількох елементів 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (20); al.Add (20); // al = [10, 20, 30, 20, 20] al.Remove (20); // al = [10, 30, 20, 20] al.Remove (20); // al = [10, 30, 20]⇑
11. Як скопіювати в іншу область пам'яті елемент типу ArrayList? Метод Clone ().
Якщо виконати привласнення двох об'єктів типу ArrayList, то вони будуть посилатися на одну і ту ж область пам'яті (малюнок 2).
приклад:
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); // додає число 10 до динамічного масиву al.Add (20); al.Add (30); al2 = al; // al2 = al = [10, 20, 30] - вказують на одну область пам'яті al2.Remove (20); // al = [10, 30]Малюнок 2. Змінні al і al2 вказують на загальний ділянку пам'яті, який був виділений при описі змінної al
Якщо потрібно зробити копію з змінної al з одночасним виділенням додаткової пам'яті, то слід використовувати метод Clone (). У цьому випадку змінні al і al2 вказують на різні ділянки пам'яті (рисунок 3).
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); al.Add (20); al.Add (30); al2 = (ArrayList) al.Clone (); al2.Remove (20); // al = [10, 20, 30]; al2 = [10, 30]Малюнок 3. Результат копіювання методом Clone () класу ArrayList
⇑
12. Визначення наявності елемента в масиві ArrayList. Метод Contains ().
Метод Contains () повертає true, якщо заданий елемент є в списку ArrayList. Інакше, метод повертає false.
ArrayList al = new ArrayList (); al.Add (25); al.Add (-18); al.Add (33); bool is_el; is_el = al.Contains (-18); // is_el = True is_el = al.Contains (50); // is_el = False⇑
13. Як з масиву ArrayList вибрати його частину? Метод GetRange ().
Метод GetRange () повертає масив типу ArrayList, який є підмножиною поточного масиву ArrayList.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2; al.Add (0); al.Add (1); al.Add (2); al.Add (3); al.Add (4); al.Add (5); // al = [0, 1, 2, 3, 4, 5] al2 = al.GetRange (2, 3); // al2 = [2, 3, 4]⇑
14. Приклад обчислення суми елементів масиву типу ArrayList.
В даному прикладі обчислюється сума елементів масиву ArrayList. Елементи масиву приводяться до типу double.
ArrayList al = new ArrayList (); double sum = 0; al.Add (0.6); al.Add (-10.45); al.Add (2.667); al.Add (300.78); for (int i = 0; i <al.Count; i ++) {sum = sum + (double) al [i]; listBox1.Items.Add (al [i]); } Label1.Text = sum.ToString (); // sum = 293.597⇑
15. Пошук позиції першого входження елемента в масиві ArrayList. Метод IndexOf ().
Для визначення позиції першого входження заданого елемента в масиві ArrayList використовується функція IndexOf (). Функція повертає позицію першого входження. Якщо заданого елемента немає в масиві, то функція повертає -1.
Функція має три перевантажених варіанту.
Нехай сформований наступний масив.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); al.Add (40); al.Add (30); // al = [10, 20, 30, 40, 50, 40, 30]Приклад 1. Пошук позиції першого входження заданого елемента.
index = al.IndexOf (30); // index = 2Приклад 2. Пошук позиції починаючи з заданого індексу до кінця масиву. Функція має два параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук.
index = al.IndexOf (30, 3); // index = 6Приклад 3. Пошук позиції заданого елемента. Функція має три параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук. Третій параметр - кількість символів, які розглядаються під час пошуку.
index = al.IndexOf (30, 3, 2); // index = -1⇑
16. Як вставити елемент в задану позицію масиву ArrayList? Метод Insert ().
Метод Insert () призначений для вставки елемента в задану позицію. Метод має два параметри. Перший параметр - елемент, який вставляється. Другий параметр - позиція елемента.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al.Insert (0, 5); // al = [5, 10, 20, 50] al.Insert (3, 60); // al = [5, 10, 20, 50, 60] // помилка - позиція виходить за межі масиву // al.Insert (8, 30);⇑
17. Як в масив ArrayList вставити інший масив із заданої позиції? Метод InsertRange ().
Метод InsertRange () дозволяє вставляти подмассів в масив типу ArrayList. Метод отримує два параметри. Перший параметр - позиція вставки. Другий параметр - масив, який вставляється.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al2.Add (30); al2.Add (40); // al2 = [30, 40] al.InsertRange (2, al2); // al = [10, 20, 30, 40, 50]⇑
18. Визначення останнього входження заданого елемента. Метод LastIndexOf ().
Метод LastIndexOf () знаходить позицію останнього входження елемента. Метод здійснює пошук з кінця до початку. Якщо елемент не знайдений, то метод повертає -1.
Метод має три перевантажених варіанту.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (50); al.Add (30); al.Add (20); al.Add (10); // al = [10, 20, 30, 50, 30, 20, 10] int index; // пошук значення 20 від кінця масиву до його початку index = al.LastIndexOf (20); // index = 5 // пошук значення 30 з позиції 1 до початку масиву index = al.LastIndexOf (30, 1); // index = -1 // пошук значення 10 з позиції 5 до початку, розглядаються 2 елементи index = al.LastIndexOf (10, 5, 2); // index = -1⇑
19. Як видалити елемент з масиву ArrayList, що знаходиться в заданій позиції? Метод RemoveAt ().
Щоб в масиві ArrayList видалити елемент із заданої позиції потрібно використовувати метод RemoveAt ().
Приклад.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] index = 3; al.RemoveAt (index); // al = [10, 20, 30, 50]⇑
20. Видалення діапазону значень, заданих індексами. Метод RemoveRange ().
Щоб з масиву ArrayList видалити кілька елементів заданих діапазоном, потрібно використовувати метод RemoveRange (). Метод приймає два параметри. Перший параметр - індекс, з якого починається видалення. Другий параметр - кількість символів, які видаляються.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.RemoveRange (1, 2); // al = [10, 40, 50]⇑
21. Реверс масиву ArrayList. Функція Reverse ().
Функція Reverse () обгортає масив типу ArrayList в зворотному порядку. Функція має два перевантажених варіанту.
Приклад 1. Використання функції Reverse ().
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (); // al = [50, 40, 30, 20, 10]Приклад 2. Функція Reverse () з двома параметрами. Перший параметр - номер позиції, з якої здійснюється реверс. Другий параметр - кількість елементів, який обробляється.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (2, 3); // al = [10, 20, 50, 40, 30]⇑
22. Копіювання елементів масиву ArrayList в інший масив. Метод SetRange ().
Метод SetRange () копіює елементи масиву ArrayList в інший масив ArrayList, замінюючи їх.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al2.Add (5); al2.Add (15); al2.Add (25); // al2 = [5, 15, 25] al.SetRange (2, al2); // al = [10, 20, 5, 15, 25]⇑
23. Як сортувати масив типу ArrayList? Метод Sort ().
Метод Sort () сортує елементи масиву ArrayList використовуючи реалізацію інтерфейсу IComparable.
Приклад.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] al.Sort (); // al = [-8, -2, 0, 5, 10]⇑
24. Як скопіювати дані з ArrayList в компонент ListBox?
Приклад 1.
Нижче наведено приклад копіювання даних з масиву ArrayList в компонент ListBox для його відображення на формі.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (al [i]); }Приклад 2. Копіювання структури типу BOOK (КНИГА).
Нехай дана наступна структура:
struct BOOK {public string Author; public string Title; public int year; public double price; };Щоб додати дані потрібно використовувати наступний код:
BOOK b1 = new BOOK (); ArrayList al = new ArrayList (25); // створити першу книгу b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-2"; b1.Title = "Title-2"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // перетворення книги BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK)); // видалити всі елементи з масиву al.Clear (); // al.Count = 0 listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (ar [i] .Author + "-" + ar [i] .Title + "-" + ar [i] .year .ToString () + "-" + ar [i] .price.ToString ()); }⇑
C #. Клас ArrayList. Приклади програмного коду
зміст
1. До якого виду колекцій належить клас ArrayList?
Відповідь: до неузагальнених колекціям.
Щоб підключити неузагальнених колекцію потрібно в тексті програми вказати:
using System.Collections;⇑
2. Які інтерфейси реалізуються в класі ArrayList?
У класі ArrayList реалізуються інтерфейси ICollection, IList, IEnumerable, ICloneable.
⇑
3. Як створити порожню колекцію ArrayList?
У цьому рядку створюється порожня колекція типу ArrayList з ім'ям al:
ArrayList al = new ArrayList ();⇑
4. Як створити колекцію ArrayList ємністю 25 елементів?
ArrayList al = new ArrayList (25);⇑
5. Як додати новий елемент в колекцію ArrayList?
Щоб додати новий елемент в колекцію ArrayList потрібно використовувати метод Add (). В даному прикладі формується динамічний масив з 3-х елементів: [12, 23, 88].
al.Add (12); // додає число 12 до динамічного масиву al.Add (23); // додає число 23 до динамічного масиву al.Add (88); // додає число 88 до динамічного масивуЕлементи, які додані в колекцію мають тип object (рис. 1).
Малюнок 1. Тип елементів ArrayList
⇑
6. Як визначити кількість елементів масиву типу ArrayList? Властивість Count.
Для цього використовується властивість Count.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); // кількість елементів int n; n = al.Count; // n = 3⇑
7. Як перевести масив типу ArrayList в масив цілих чисел?
Приклад демонстрації методу ToArray () з класу ArrayList.
В даному прикладі відбувається перетворення масиву al типу ArrayList в масив цілих чисел ar. Також обчислюється сума sum елементів масиву ar.
ArrayList al = new ArrayList (); // додати три числа до динамічного масиву al.Add (10); al.Add (20); al.Add (30); int sum = 0; // перетворення масиву al в масив цілих чисел ar int [] ar = (int []) al.ToArray (typeof (int)); // знаходження суми for (int i = 0; i <ar.Length; i ++) {sum + = ar [i]; } Label1.Text = sum.ToString (); // вивід значення суми на форму⇑
8. Організація роботи класу ArrayList зі структурами на прикладі структури типу КНИГА (BOOK).
8.1. Організація масиву структур типу BOOK (книга). Метод Add ().
Нехай задана структура типу КНИГА:
struct BOOK {public string Author; public string Title; public int year; public double price; };Організувати динамічний масив типу struct BOOK використовуючи клас ArrayList.
відповідь:
// створити першу книгу BOOK b1 = new BOOK (); ArrayList al = new ArrayList (); b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-02"; b1.Title = "Title-02"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // додати книгу в масив⇑
8.2. Як перевести динамічний масив ArrayList в масив структур? Демонстрація методу ToArray () з класу ArrayList для структури типу BOOK (КНИГА).
В даному прикладі реалізується перетворення динамічного масиву al типу ArrayList в масив структур типу BOOK. Ім'я масиву структур - ar.
BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK));⇑
8.3. Як визначити кількість елементів структури типу BOOK (КНИГА) в масиві ArrayList?
Нехай задана структура типу BOOK (КНИГА) з внесеними даними про двох книгах (див. П. 8.1). Щоб визначити кількість внесених книг, потрібно використовувати властивість Count.
int n; n = al.Count; // n = 2⇑
9. Як видалити всі елементи з масиву типу ArrayList? Властивість Clear ().
ArrayList al = new ArrayList (); al.Add (10); // додати числа до масиву al al.Add (20); al.Add (30); // видалити всі елементи з масиву al.Clear (); // al.Count = 0⇑
10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
Приклад 1. Видалення елемента 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); // додати три числа al.Add (20); al.Add (30); al.Remove (20); // видалили елемент із значенням 20Команда Remove () видаляє перший елемент, який зустрівся з заданим значенням. Тобто, якщо в списку кілька елементів зі значенням 20, то видалений буде тільки перший елемент.
Приклад 2. Видалення кількох елементів 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (20); al.Add (20); // al = [10, 20, 30, 20, 20] al.Remove (20); // al = [10, 30, 20, 20] al.Remove (20); // al = [10, 30, 20]⇑
11. Як скопіювати в іншу область пам'яті елемент типу ArrayList? Метод Clone ().
Якщо виконати привласнення двох об'єктів типу ArrayList, то вони будуть посилатися на одну і ту ж область пам'яті (малюнок 2).
приклад:
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); // додає число 10 до динамічного масиву al.Add (20); al.Add (30); al2 = al; // al2 = al = [10, 20, 30] - вказують на одну область пам'яті al2.Remove (20); // al = [10, 30]Малюнок 2. Змінні al і al2 вказують на загальний ділянку пам'яті, який був виділений при описі змінної al
Якщо потрібно зробити копію з змінної al з одночасним виділенням додаткової пам'яті, то слід використовувати метод Clone (). У цьому випадку змінні al і al2 вказують на різні ділянки пам'яті (рисунок 3).
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); al.Add (20); al.Add (30); al2 = (ArrayList) al.Clone (); al2.Remove (20); // al = [10, 20, 30]; al2 = [10, 30]Малюнок 3. Результат копіювання методом Clone () класу ArrayList
⇑
12. Визначення наявності елемента в масиві ArrayList. Метод Contains ().
Метод Contains () повертає true, якщо заданий елемент є в списку ArrayList. Інакше, метод повертає false.
ArrayList al = new ArrayList (); al.Add (25); al.Add (-18); al.Add (33); bool is_el; is_el = al.Contains (-18); // is_el = True is_el = al.Contains (50); // is_el = False⇑
13. Як з масиву ArrayList вибрати його частину? Метод GetRange ().
Метод GetRange () повертає масив типу ArrayList, який є підмножиною поточного масиву ArrayList.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2; al.Add (0); al.Add (1); al.Add (2); al.Add (3); al.Add (4); al.Add (5); // al = [0, 1, 2, 3, 4, 5] al2 = al.GetRange (2, 3); // al2 = [2, 3, 4]⇑
14. Приклад обчислення суми елементів масиву типу ArrayList.
В даному прикладі обчислюється сума елементів масиву ArrayList. Елементи масиву приводяться до типу double.
ArrayList al = new ArrayList (); double sum = 0; al.Add (0.6); al.Add (-10.45); al.Add (2.667); al.Add (300.78); for (int i = 0; i <al.Count; i ++) {sum = sum + (double) al [i]; listBox1.Items.Add (al [i]); } Label1.Text = sum.ToString (); // sum = 293.597⇑
15. Пошук позиції першого входження елемента в масиві ArrayList. Метод IndexOf ().
Для визначення позиції першого входження заданого елемента в масиві ArrayList використовується функція IndexOf (). Функція повертає позицію першого входження. Якщо заданого елемента немає в масиві, то функція повертає -1.
Функція має три перевантажених варіанту.
Нехай сформований наступний масив.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); al.Add (40); al.Add (30); // al = [10, 20, 30, 40, 50, 40, 30]Приклад 1. Пошук позиції першого входження заданого елемента.
index = al.IndexOf (30); // index = 2Приклад 2. Пошук позиції починаючи з заданого індексу до кінця масиву. Функція має два параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук.
index = al.IndexOf (30, 3); // index = 6Приклад 3. Пошук позиції заданого елемента. Функція має три параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук. Третій параметр - кількість символів, які розглядаються під час пошуку.
index = al.IndexOf (30, 3, 2); // index = -1⇑
16. Як вставити елемент в задану позицію масиву ArrayList? Метод Insert ().
Метод Insert () призначений для вставки елемента в задану позицію. Метод має два параметри. Перший параметр - елемент, який вставляється. Другий параметр - позиція елемента.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al.Insert (0, 5); // al = [5, 10, 20, 50] al.Insert (3, 60); // al = [5, 10, 20, 50, 60] // помилка - позиція виходить за межі масиву // al.Insert (8, 30);⇑
17. Як в масив ArrayList вставити інший масив із заданої позиції? Метод InsertRange ().
Метод InsertRange () дозволяє вставляти подмассів в масив типу ArrayList. Метод отримує два параметри. Перший параметр - позиція вставки. Другий параметр - масив, який вставляється.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al2.Add (30); al2.Add (40); // al2 = [30, 40] al.InsertRange (2, al2); // al = [10, 20, 30, 40, 50]⇑
18. Визначення останнього входження заданого елемента. Метод LastIndexOf ().
Метод LastIndexOf () знаходить позицію останнього входження елемента. Метод здійснює пошук з кінця до початку. Якщо елемент не знайдений, то метод повертає -1.
Метод має три перевантажених варіанту.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (50); al.Add (30); al.Add (20); al.Add (10); // al = [10, 20, 30, 50, 30, 20, 10] int index; // пошук значення 20 від кінця масиву до його початку index = al.LastIndexOf (20); // index = 5 // пошук значення 30 з позиції 1 до початку масиву index = al.LastIndexOf (30, 1); // index = -1 // пошук значення 10 з позиції 5 до початку, розглядаються 2 елементи index = al.LastIndexOf (10, 5, 2); // index = -1⇑
19. Як видалити елемент з масиву ArrayList, що знаходиться в заданій позиції? Метод RemoveAt ().
Щоб в масиві ArrayList видалити елемент із заданої позиції потрібно використовувати метод RemoveAt ().
Приклад.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] index = 3; al.RemoveAt (index); // al = [10, 20, 30, 50]⇑
20. Видалення діапазону значень, заданих індексами. Метод RemoveRange ().
Щоб з масиву ArrayList видалити кілька елементів заданих діапазоном, потрібно використовувати метод RemoveRange (). Метод приймає два параметри. Перший параметр - індекс, з якого починається видалення. Другий параметр - кількість символів, які видаляються.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.RemoveRange (1, 2); // al = [10, 40, 50]⇑
21. Реверс масиву ArrayList. Функція Reverse ().
Функція Reverse () обгортає масив типу ArrayList в зворотному порядку. Функція має два перевантажених варіанту.
Приклад 1. Використання функції Reverse ().
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (); // al = [50, 40, 30, 20, 10]Приклад 2. Функція Reverse () з двома параметрами. Перший параметр - номер позиції, з якої здійснюється реверс. Другий параметр - кількість елементів, який обробляється.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (2, 3); // al = [10, 20, 50, 40, 30]⇑
22. Копіювання елементів масиву ArrayList в інший масив. Метод SetRange ().
Метод SetRange () копіює елементи масиву ArrayList в інший масив ArrayList, замінюючи їх.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al2.Add (5); al2.Add (15); al2.Add (25); // al2 = [5, 15, 25] al.SetRange (2, al2); // al = [10, 20, 5, 15, 25]⇑
23. Як сортувати масив типу ArrayList? Метод Sort ().
Метод Sort () сортує елементи масиву ArrayList використовуючи реалізацію інтерфейсу IComparable.
Приклад.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] al.Sort (); // al = [-8, -2, 0, 5, 10]⇑
24. Як скопіювати дані з ArrayList в компонент ListBox?
Приклад 1.
Нижче наведено приклад копіювання даних з масиву ArrayList в компонент ListBox для його відображення на формі.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (al [i]); }Приклад 2. Копіювання структури типу BOOK (КНИГА).
Нехай дана наступна структура:
struct BOOK {public string Author; public string Title; public int year; public double price; };Щоб додати дані потрібно використовувати наступний код:
BOOK b1 = new BOOK (); ArrayList al = new ArrayList (25); // створити першу книгу b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-2"; b1.Title = "Title-2"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // перетворення книги BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK)); // видалити всі елементи з масиву al.Clear (); // al.Count = 0 listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (ar [i] .Author + "-" + ar [i] .Title + "-" + ar [i] .year .ToString () + "-" + ar [i] .price.ToString ()); }⇑
C #. Клас ArrayList. Приклади програмного коду
зміст
1. До якого виду колекцій належить клас ArrayList?
Відповідь: до неузагальнених колекціям.
Щоб підключити неузагальнених колекцію потрібно в тексті програми вказати:
using System.Collections;⇑
2. Які інтерфейси реалізуються в класі ArrayList?
У класі ArrayList реалізуються інтерфейси ICollection, IList, IEnumerable, ICloneable.
⇑
3. Як створити порожню колекцію ArrayList?
У цьому рядку створюється порожня колекція типу ArrayList з ім'ям al:
ArrayList al = new ArrayList ();⇑
4. Як створити колекцію ArrayList ємністю 25 елементів?
ArrayList al = new ArrayList (25);⇑
5. Як додати новий елемент в колекцію ArrayList?
Щоб додати новий елемент в колекцію ArrayList потрібно використовувати метод Add (). В даному прикладі формується динамічний масив з 3-х елементів: [12, 23, 88].
al.Add (12); // додає число 12 до динамічного масиву al.Add (23); // додає число 23 до динамічного масиву al.Add (88); // додає число 88 до динамічного масивуЕлементи, які додані в колекцію мають тип object (рис. 1).
Малюнок 1. Тип елементів ArrayList
⇑
6. Як визначити кількість елементів масиву типу ArrayList? Властивість Count.
Для цього використовується властивість Count.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); // кількість елементів int n; n = al.Count; // n = 3⇑
7. Як перевести масив типу ArrayList в масив цілих чисел?
Приклад демонстрації методу ToArray () з класу ArrayList.
В даному прикладі відбувається перетворення масиву al типу ArrayList в масив цілих чисел ar. Також обчислюється сума sum елементів масиву ar.
ArrayList al = new ArrayList (); // додати три числа до динамічного масиву al.Add (10); al.Add (20); al.Add (30); int sum = 0; // перетворення масиву al в масив цілих чисел ar int [] ar = (int []) al.ToArray (typeof (int)); // знаходження суми for (int i = 0; i <ar.Length; i ++) {sum + = ar [i]; } Label1.Text = sum.ToString (); // вивід значення суми на форму⇑
8. Організація роботи класу ArrayList зі структурами на прикладі структури типу КНИГА (BOOK).
8.1. Організація масиву структур типу BOOK (книга). Метод Add ().
Нехай задана структура типу КНИГА:
struct BOOK {public string Author; public string Title; public int year; public double price; };Організувати динамічний масив типу struct BOOK використовуючи клас ArrayList.
відповідь:
// створити першу книгу BOOK b1 = new BOOK (); ArrayList al = new ArrayList (); b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-02"; b1.Title = "Title-02"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // додати книгу в масив⇑
8.2. Як перевести динамічний масив ArrayList в масив структур? Демонстрація методу ToArray () з класу ArrayList для структури типу BOOK (КНИГА).
В даному прикладі реалізується перетворення динамічного масиву al типу ArrayList в масив структур типу BOOK. Ім'я масиву структур - ar.
BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK));⇑
8.3. Як визначити кількість елементів структури типу BOOK (КНИГА) в масиві ArrayList?
Нехай задана структура типу BOOK (КНИГА) з внесеними даними про двох книгах (див. П. 8.1). Щоб визначити кількість внесених книг, потрібно використовувати властивість Count.
int n; n = al.Count; // n = 2⇑
9. Як видалити всі елементи з масиву типу ArrayList? Властивість Clear ().
ArrayList al = new ArrayList (); al.Add (10); // додати числа до масиву al al.Add (20); al.Add (30); // видалити всі елементи з масиву al.Clear (); // al.Count = 0⇑
10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
Приклад 1. Видалення елемента 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); // додати три числа al.Add (20); al.Add (30); al.Remove (20); // видалили елемент із значенням 20Команда Remove () видаляє перший елемент, який зустрівся з заданим значенням. Тобто, якщо в списку кілька елементів зі значенням 20, то видалений буде тільки перший елемент.
Приклад 2. Видалення кількох елементів 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (20); al.Add (20); // al = [10, 20, 30, 20, 20] al.Remove (20); // al = [10, 30, 20, 20] al.Remove (20); // al = [10, 30, 20]⇑
11. Як скопіювати в іншу область пам'яті елемент типу ArrayList? Метод Clone ().
Якщо виконати привласнення двох об'єктів типу ArrayList, то вони будуть посилатися на одну і ту ж область пам'яті (малюнок 2).
приклад:
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); // додає число 10 до динамічного масиву al.Add (20); al.Add (30); al2 = al; // al2 = al = [10, 20, 30] - вказують на одну область пам'яті al2.Remove (20); // al = [10, 30]Малюнок 2. Змінні al і al2 вказують на загальний ділянку пам'яті, який був виділений при описі змінної al
Якщо потрібно зробити копію з змінної al з одночасним виділенням додаткової пам'яті, то слід використовувати метод Clone (). У цьому випадку змінні al і al2 вказують на різні ділянки пам'яті (рисунок 3).
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); al.Add (20); al.Add (30); al2 = (ArrayList) al.Clone (); al2.Remove (20); // al = [10, 20, 30]; al2 = [10, 30]Малюнок 3. Результат копіювання методом Clone () класу ArrayList
⇑
12. Визначення наявності елемента в масиві ArrayList. Метод Contains ().
Метод Contains () повертає true, якщо заданий елемент є в списку ArrayList. Інакше, метод повертає false.
ArrayList al = new ArrayList (); al.Add (25); al.Add (-18); al.Add (33); bool is_el; is_el = al.Contains (-18); // is_el = True is_el = al.Contains (50); // is_el = False⇑
13. Як з масиву ArrayList вибрати його частину? Метод GetRange ().
Метод GetRange () повертає масив типу ArrayList, який є підмножиною поточного масиву ArrayList.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2; al.Add (0); al.Add (1); al.Add (2); al.Add (3); al.Add (4); al.Add (5); // al = [0, 1, 2, 3, 4, 5] al2 = al.GetRange (2, 3); // al2 = [2, 3, 4]⇑
14. Приклад обчислення суми елементів масиву типу ArrayList.
В даному прикладі обчислюється сума елементів масиву ArrayList. Елементи масиву приводяться до типу double.
ArrayList al = new ArrayList (); double sum = 0; al.Add (0.6); al.Add (-10.45); al.Add (2.667); al.Add (300.78); for (int i = 0; i <al.Count; i ++) {sum = sum + (double) al [i]; listBox1.Items.Add (al [i]); } Label1.Text = sum.ToString (); // sum = 293.597⇑
15. Пошук позиції першого входження елемента в масиві ArrayList. Метод IndexOf ().
Для визначення позиції першого входження заданого елемента в масиві ArrayList використовується функція IndexOf (). Функція повертає позицію першого входження. Якщо заданого елемента немає в масиві, то функція повертає -1.
Функція має три перевантажених варіанту.
Нехай сформований наступний масив.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); al.Add (40); al.Add (30); // al = [10, 20, 30, 40, 50, 40, 30]Приклад 1. Пошук позиції першого входження заданого елемента.
index = al.IndexOf (30); // index = 2Приклад 2. Пошук позиції починаючи з заданого індексу до кінця масиву. Функція має два параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук.
index = al.IndexOf (30, 3); // index = 6Приклад 3. Пошук позиції заданого елемента. Функція має три параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук. Третій параметр - кількість символів, які розглядаються під час пошуку.
index = al.IndexOf (30, 3, 2); // index = -1⇑
16. Як вставити елемент в задану позицію масиву ArrayList? Метод Insert ().
Метод Insert () призначений для вставки елемента в задану позицію. Метод має два параметри. Перший параметр - елемент, який вставляється. Другий параметр - позиція елемента.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al.Insert (0, 5); // al = [5, 10, 20, 50] al.Insert (3, 60); // al = [5, 10, 20, 50, 60] // помилка - позиція виходить за межі масиву // al.Insert (8, 30);⇑
17. Як в масив ArrayList вставити інший масив із заданої позиції? Метод InsertRange ().
Метод InsertRange () дозволяє вставляти подмассів в масив типу ArrayList. Метод отримує два параметри. Перший параметр - позиція вставки. Другий параметр - масив, який вставляється.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al2.Add (30); al2.Add (40); // al2 = [30, 40] al.InsertRange (2, al2); // al = [10, 20, 30, 40, 50]⇑
18. Визначення останнього входження заданого елемента. Метод LastIndexOf ().
Метод LastIndexOf () знаходить позицію останнього входження елемента. Метод здійснює пошук з кінця до початку. Якщо елемент не знайдений, то метод повертає -1.
Метод має три перевантажених варіанту.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (50); al.Add (30); al.Add (20); al.Add (10); // al = [10, 20, 30, 50, 30, 20, 10] int index; // пошук значення 20 від кінця масиву до його початку index = al.LastIndexOf (20); // index = 5 // пошук значення 30 з позиції 1 до початку масиву index = al.LastIndexOf (30, 1); // index = -1 // пошук значення 10 з позиції 5 до початку, розглядаються 2 елементи index = al.LastIndexOf (10, 5, 2); // index = -1⇑
19. Як видалити елемент з масиву ArrayList, що знаходиться в заданій позиції? Метод RemoveAt ().
Щоб в масиві ArrayList видалити елемент із заданої позиції потрібно використовувати метод RemoveAt ().
Приклад.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] index = 3; al.RemoveAt (index); // al = [10, 20, 30, 50]⇑
20. Видалення діапазону значень, заданих індексами. Метод RemoveRange ().
Щоб з масиву ArrayList видалити кілька елементів заданих діапазоном, потрібно використовувати метод RemoveRange (). Метод приймає два параметри. Перший параметр - індекс, з якого починається видалення. Другий параметр - кількість символів, які видаляються.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.RemoveRange (1, 2); // al = [10, 40, 50]⇑
21. Реверс масиву ArrayList. Функція Reverse ().
Функція Reverse () обгортає масив типу ArrayList в зворотному порядку. Функція має два перевантажених варіанту.
Приклад 1. Використання функції Reverse ().
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (); // al = [50, 40, 30, 20, 10]Приклад 2. Функція Reverse () з двома параметрами. Перший параметр - номер позиції, з якої здійснюється реверс. Другий параметр - кількість елементів, який обробляється.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (2, 3); // al = [10, 20, 50, 40, 30]⇑
22. Копіювання елементів масиву ArrayList в інший масив. Метод SetRange ().
Метод SetRange () копіює елементи масиву ArrayList в інший масив ArrayList, замінюючи їх.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al2.Add (5); al2.Add (15); al2.Add (25); // al2 = [5, 15, 25] al.SetRange (2, al2); // al = [10, 20, 5, 15, 25]⇑
23. Як сортувати масив типу ArrayList? Метод Sort ().
Метод Sort () сортує елементи масиву ArrayList використовуючи реалізацію інтерфейсу IComparable.
Приклад.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] al.Sort (); // al = [-8, -2, 0, 5, 10]⇑
24. Як скопіювати дані з ArrayList в компонент ListBox?
Приклад 1.
Нижче наведено приклад копіювання даних з масиву ArrayList в компонент ListBox для його відображення на формі.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (al [i]); }Приклад 2. Копіювання структури типу BOOK (КНИГА).
Нехай дана наступна структура:
struct BOOK {public string Author; public string Title; public int year; public double price; };Щоб додати дані потрібно використовувати наступний код:
BOOK b1 = new BOOK (); ArrayList al = new ArrayList (25); // створити першу книгу b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-2"; b1.Title = "Title-2"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // перетворення книги BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK)); // видалити всі елементи з масиву al.Clear (); // al.Count = 0 listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (ar [i] .Author + "-" + ar [i] .Title + "-" + ar [i] .year .ToString () + "-" + ar [i] .price.ToString ()); }⇑
C #. Клас ArrayList. Приклади програмного коду
зміст
1. До якого виду колекцій належить клас ArrayList?
Відповідь: до неузагальнених колекціям.
Щоб підключити неузагальнених колекцію потрібно в тексті програми вказати:
using System.Collections;⇑
2. Які інтерфейси реалізуються в класі ArrayList?
У класі ArrayList реалізуються інтерфейси ICollection, IList, IEnumerable, ICloneable.
⇑
3. Як створити порожню колекцію ArrayList?
У цьому рядку створюється порожня колекція типу ArrayList з ім'ям al:
ArrayList al = new ArrayList ();⇑
4. Як створити колекцію ArrayList ємністю 25 елементів?
ArrayList al = new ArrayList (25);⇑
5. Як додати новий елемент в колекцію ArrayList?
Щоб додати новий елемент в колекцію ArrayList потрібно використовувати метод Add (). В даному прикладі формується динамічний масив з 3-х елементів: [12, 23, 88].
al.Add (12); // додає число 12 до динамічного масиву al.Add (23); // додає число 23 до динамічного масиву al.Add (88); // додає число 88 до динамічного масивуЕлементи, які додані в колекцію мають тип object (рис. 1).
Малюнок 1. Тип елементів ArrayList
⇑
6. Як визначити кількість елементів масиву типу ArrayList? Властивість Count.
Для цього використовується властивість Count.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); // кількість елементів int n; n = al.Count; // n = 3⇑
7. Як перевести масив типу ArrayList в масив цілих чисел?
Приклад демонстрації методу ToArray () з класу ArrayList.
В даному прикладі відбувається перетворення масиву al типу ArrayList в масив цілих чисел ar. Також обчислюється сума sum елементів масиву ar.
ArrayList al = new ArrayList (); // додати три числа до динамічного масиву al.Add (10); al.Add (20); al.Add (30); int sum = 0; // перетворення масиву al в масив цілих чисел ar int [] ar = (int []) al.ToArray (typeof (int)); // знаходження суми for (int i = 0; i <ar.Length; i ++) {sum + = ar [i]; } Label1.Text = sum.ToString (); // вивід значення суми на форму⇑
8. Організація роботи класу ArrayList зі структурами на прикладі структури типу КНИГА (BOOK).
8.1. Організація масиву структур типу BOOK (книга). Метод Add ().
Нехай задана структура типу КНИГА:
struct BOOK {public string Author; public string Title; public int year; public double price; };Організувати динамічний масив типу struct BOOK використовуючи клас ArrayList.
відповідь:
// створити першу книгу BOOK b1 = new BOOK (); ArrayList al = new ArrayList (); b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-02"; b1.Title = "Title-02"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // додати книгу в масив⇑
8.2. Як перевести динамічний масив ArrayList в масив структур? Демонстрація методу ToArray () з класу ArrayList для структури типу BOOK (КНИГА).
В даному прикладі реалізується перетворення динамічного масиву al типу ArrayList в масив структур типу BOOK. Ім'я масиву структур - ar.
BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK));⇑
8.3. Як визначити кількість елементів структури типу BOOK (КНИГА) в масиві ArrayList?
Нехай задана структура типу BOOK (КНИГА) з внесеними даними про двох книгах (див. П. 8.1). Щоб визначити кількість внесених книг, потрібно використовувати властивість Count.
int n; n = al.Count; // n = 2⇑
9. Як видалити всі елементи з масиву типу ArrayList? Властивість Clear ().
ArrayList al = new ArrayList (); al.Add (10); // додати числа до масиву al al.Add (20); al.Add (30); // видалити всі елементи з масиву al.Clear (); // al.Count = 0⇑
10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
Приклад 1. Видалення елемента 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); // додати три числа al.Add (20); al.Add (30); al.Remove (20); // видалили елемент із значенням 20Команда Remove () видаляє перший елемент, який зустрівся з заданим значенням. Тобто, якщо в списку кілька елементів зі значенням 20, то видалений буде тільки перший елемент.
Приклад 2. Видалення кількох елементів 20 з масиву ArrayList.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (20); al.Add (20); // al = [10, 20, 30, 20, 20] al.Remove (20); // al = [10, 30, 20, 20] al.Remove (20); // al = [10, 30, 20]⇑
11. Як скопіювати в іншу область пам'яті елемент типу ArrayList? Метод Clone ().
Якщо виконати привласнення двох об'єктів типу ArrayList, то вони будуть посилатися на одну і ту ж область пам'яті (малюнок 2).
приклад:
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); // додає число 10 до динамічного масиву al.Add (20); al.Add (30); al2 = al; // al2 = al = [10, 20, 30] - вказують на одну область пам'яті al2.Remove (20); // al = [10, 30]Малюнок 2. Змінні al і al2 вказують на загальний ділянку пам'яті, який був виділений при описі змінної al
Якщо потрібно зробити копію з змінної al з одночасним виділенням додаткової пам'яті, то слід використовувати метод Clone (). У цьому випадку змінні al і al2 вказують на різні ділянки пам'яті (рисунок 3).
ArrayList al = new ArrayList (); ArrayList al2; al.Add (10); al.Add (20); al.Add (30); al2 = (ArrayList) al.Clone (); al2.Remove (20); // al = [10, 20, 30]; al2 = [10, 30]Малюнок 3. Результат копіювання методом Clone () класу ArrayList
⇑
12. Визначення наявності елемента в масиві ArrayList. Метод Contains ().
Метод Contains () повертає true, якщо заданий елемент є в списку ArrayList. Інакше, метод повертає false.
ArrayList al = new ArrayList (); al.Add (25); al.Add (-18); al.Add (33); bool is_el; is_el = al.Contains (-18); // is_el = True is_el = al.Contains (50); // is_el = False⇑
13. Як з масиву ArrayList вибрати його частину? Метод GetRange ().
Метод GetRange () повертає масив типу ArrayList, який є підмножиною поточного масиву ArrayList.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2; al.Add (0); al.Add (1); al.Add (2); al.Add (3); al.Add (4); al.Add (5); // al = [0, 1, 2, 3, 4, 5] al2 = al.GetRange (2, 3); // al2 = [2, 3, 4]⇑
14. Приклад обчислення суми елементів масиву типу ArrayList.
В даному прикладі обчислюється сума елементів масиву ArrayList. Елементи масиву приводяться до типу double.
ArrayList al = new ArrayList (); double sum = 0; al.Add (0.6); al.Add (-10.45); al.Add (2.667); al.Add (300.78); for (int i = 0; i <al.Count; i ++) {sum = sum + (double) al [i]; listBox1.Items.Add (al [i]); } Label1.Text = sum.ToString (); // sum = 293.597⇑
15. Пошук позиції першого входження елемента в масиві ArrayList. Метод IndexOf ().
Для визначення позиції першого входження заданого елемента в масиві ArrayList використовується функція IndexOf (). Функція повертає позицію першого входження. Якщо заданого елемента немає в масиві, то функція повертає -1.
Функція має три перевантажених варіанту.
Нехай сформований наступний масив.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); al.Add (40); al.Add (30); // al = [10, 20, 30, 40, 50, 40, 30]Приклад 1. Пошук позиції першого входження заданого елемента.
index = al.IndexOf (30); // index = 2Приклад 2. Пошук позиції починаючи з заданого індексу до кінця масиву. Функція має два параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук.
index = al.IndexOf (30, 3); // index = 6Приклад 3. Пошук позиції заданого елемента. Функція має три параметри. Перший параметр - шуканий елемент. Другий параметр - позиція, з якої стартує пошук. Третій параметр - кількість символів, які розглядаються під час пошуку.
index = al.IndexOf (30, 3, 2); // index = -1⇑
16. Як вставити елемент в задану позицію масиву ArrayList? Метод Insert ().
Метод Insert () призначений для вставки елемента в задану позицію. Метод має два параметри. Перший параметр - елемент, який вставляється. Другий параметр - позиція елемента.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al.Insert (0, 5); // al = [5, 10, 20, 50] al.Insert (3, 60); // al = [5, 10, 20, 50, 60] // помилка - позиція виходить за межі масиву // al.Insert (8, 30);⇑
17. Як в масив ArrayList вставити інший масив із заданої позиції? Метод InsertRange ().
Метод InsertRange () дозволяє вставляти подмассів в масив типу ArrayList. Метод отримує два параметри. Перший параметр - позиція вставки. Другий параметр - масив, який вставляється.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (50); // al = [10, 20, 50] al2.Add (30); al2.Add (40); // al2 = [30, 40] al.InsertRange (2, al2); // al = [10, 20, 30, 40, 50]⇑
18. Визначення останнього входження заданого елемента. Метод LastIndexOf ().
Метод LastIndexOf () знаходить позицію останнього входження елемента. Метод здійснює пошук з кінця до початку. Якщо елемент не знайдений, то метод повертає -1.
Метод має три перевантажених варіанту.
Приклад.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (50); al.Add (30); al.Add (20); al.Add (10); // al = [10, 20, 30, 50, 30, 20, 10] int index; // пошук значення 20 від кінця масиву до його початку index = al.LastIndexOf (20); // index = 5 // пошук значення 30 з позиції 1 до початку масиву index = al.LastIndexOf (30, 1); // index = -1 // пошук значення 10 з позиції 5 до початку, розглядаються 2 елементи index = al.LastIndexOf (10, 5, 2); // index = -1⇑
19. Як видалити елемент з масиву ArrayList, що знаходиться в заданій позиції? Метод RemoveAt ().
Щоб в масиві ArrayList видалити елемент із заданої позиції потрібно використовувати метод RemoveAt ().
Приклад.
ArrayList al = new ArrayList (); int index; al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] index = 3; al.RemoveAt (index); // al = [10, 20, 30, 50]⇑
20. Видалення діапазону значень, заданих індексами. Метод RemoveRange ().
Щоб з масиву ArrayList видалити кілька елементів заданих діапазоном, потрібно використовувати метод RemoveRange (). Метод приймає два параметри. Перший параметр - індекс, з якого починається видалення. Другий параметр - кількість символів, які видаляються.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.RemoveRange (1, 2); // al = [10, 40, 50]⇑
21. Реверс масиву ArrayList. Функція Reverse ().
Функція Reverse () обгортає масив типу ArrayList в зворотному порядку. Функція має два перевантажених варіанту.
Приклад 1. Використання функції Reverse ().
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (); // al = [50, 40, 30, 20, 10]Приклад 2. Функція Reverse () з двома параметрами. Перший параметр - номер позиції, з якої здійснюється реверс. Другий параметр - кількість елементів, який обробляється.
ArrayList al = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al.Reverse (2, 3); // al = [10, 20, 50, 40, 30]⇑
22. Копіювання елементів масиву ArrayList в інший масив. Метод SetRange ().
Метод SetRange () копіює елементи масиву ArrayList в інший масив ArrayList, замінюючи їх.
Приклад.
ArrayList al = new ArrayList (); ArrayList al2 = new ArrayList (); al.Add (10); al.Add (20); al.Add (30); al.Add (40); al.Add (50); // al = [10, 20, 30, 40, 50] al2.Add (5); al2.Add (15); al2.Add (25); // al2 = [5, 15, 25] al.SetRange (2, al2); // al = [10, 20, 5, 15, 25]⇑
23. Як сортувати масив типу ArrayList? Метод Sort ().
Метод Sort () сортує елементи масиву ArrayList використовуючи реалізацію інтерфейсу IComparable.
Приклад.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] al.Sort (); // al = [-8, -2, 0, 5, 10]⇑
24. Як скопіювати дані з ArrayList в компонент ListBox?
Приклад 1.
Нижче наведено приклад копіювання даних з масиву ArrayList в компонент ListBox для його відображення на формі.
ArrayList al = new ArrayList (); al.Add (5); al.Add (-2); al.Add (10); al.Add (0); al.Add (-8); // al = [5, -2, 10, 0, -8] listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (al [i]); }Приклад 2. Копіювання структури типу BOOK (КНИГА).
Нехай дана наступна структура:
struct BOOK {public string Author; public string Title; public int year; public double price; };Щоб додати дані потрібно використовувати наступний код:
BOOK b1 = new BOOK (); ArrayList al = new ArrayList (25); // створити першу книгу b1.Author = "Author-1"; b1.Title = "Title-1"; b1.year = 1998; b1.price = 90.95; al.Add (b1); // додати книгу в масив // створити другу книгу b1.Author = "Author-2"; b1.Title = "Title-2"; b1.year = 1980; b1.price = 130.94; al.Add (b1); // перетворення книги BOOK [] ar = (BOOK []) al.ToArray (typeof (BOOK)); // видалити всі елементи з масиву al.Clear (); // al.Count = 0 listBox1.Items.Clear (); for (int i = 0; i <al.Count; i ++) {listBox1.Items.Add (ar [i] .Author + "-" + ar [i] .Title + "-" + ar [i] .year .ToString () + "-" + ar [i] .price.ToString ()); }⇑
5. Як додати новий елемент в колекцію ArrayList?10. Як видалити заданий елемент з масиву ArrayList?
5. Як додати новий елемент в колекцію ArrayList?
10. Як видалити заданий елемент з масиву ArrayList?
5. Як додати новий елемент в колекцію ArrayList?
10. Як видалити заданий елемент з масиву ArrayList?
5. Як додати новий елемент в колекцію ArrayList?
10. Як видалити заданий елемент з масиву ArrayList?
5. Як додати новий елемент в колекцію ArrayList?
10. Як видалити заданий елемент з масиву ArrayList?