<
  • Главная
Статьи

C #. Клас ArrayList. Приклади програмного коду | BestProg

  1. C #. Клас ArrayList. Приклади програмного коду
  2. ⇑
  3. ⇑
  4. ⇑
  5. 5. Як додати новий елемент в колекцію ArrayList?
  6. ⇑
  7. ⇑
  8. ⇑
  9. ⇑
  10. ⇑
  11. ⇑
  12. 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
  13. ⇑
  14. ⇑
  15. ⇑
  16. ⇑
  17. ⇑
  18. ⇑
  19. ⇑
  20. ⇑
  21. ⇑
  22. ⇑
  23. ⇑
  24. ⇑
  25. ⇑
  26. ⇑
  27. ⇑
  28. ⇑
  29. ⇑
  30. ⇑
  31. 5. Як додати новий елемент в колекцію ArrayList?
  32. ⇑
  33. ⇑
  34. ⇑
  35. ⇑
  36. ⇑
  37. ⇑
  38. 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
  39. ⇑
  40. ⇑
  41. ⇑
  42. ⇑
  43. ⇑
  44. ⇑
  45. ⇑
  46. ⇑
  47. ⇑
  48. ⇑
  49. ⇑
  50. ⇑
  51. ⇑
  52. ⇑
  53. ⇑
  54. ⇑
  55. ⇑
  56. ⇑
  57. 5. Як додати новий елемент в колекцію ArrayList?
  58. ⇑
  59. ⇑
  60. ⇑
  61. ⇑
  62. ⇑
  63. ⇑
  64. 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
  65. ⇑
  66. ⇑
  67. ⇑
  68. ⇑
  69. ⇑
  70. ⇑
  71. ⇑
  72. ⇑
  73. ⇑
  74. ⇑
  75. ⇑
  76. ⇑
  77. ⇑
  78. ⇑
  79. ⇑
  80. ⇑
  81. ⇑
  82. ⇑
  83. 5. Як додати новий елемент в колекцію ArrayList?
  84. ⇑
  85. ⇑
  86. ⇑
  87. ⇑
  88. ⇑
  89. ⇑
  90. 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
  91. ⇑
  92. ⇑
  93. ⇑
  94. ⇑
  95. ⇑
  96. ⇑
  97. ⇑
  98. ⇑
  99. ⇑
  100. ⇑
  101. ⇑
  102. ⇑
  103. ⇑
  104. ⇑
  105. ⇑
  106. ⇑
  107. ⇑
  108. ⇑
  109. 5. Як додати новий елемент в колекцію ArrayList?
  110. ⇑
  111. ⇑
  112. ⇑
  113. ⇑
  114. ⇑
  115. ⇑
  116. 10. Як видалити заданий елемент з масиву ArrayList? Метод Remove ().
  117. ⇑
  118. ⇑
  119. ⇑
  120. ⇑
  121. ⇑
  122. ⇑
  123. ⇑
  124. ⇑
  125. ⇑
  126. ⇑
  127. ⇑
  128. ⇑
  129. ⇑
  130. ⇑

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

⇑

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?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью