C# - Головна Простір імен
► System (5)► Microsoft (1) Для учнів (початківців)
► Відео уроки (4)► Навчання (177) ► Приклади програм (19) ► Секрети Сі Шарп (4) Для професіоналів
► Навчання (6)► Приклади програм (1) |
Колекція ArrayList
Проблема створення статичного масиву вирішується за допомогою використання іншого класу даних мови С#. У просторі імен System.Collections є вбудований клас з назвою ArrayList. Якщо ми оголошуємо об'єкт цього класу, ми отримуємо масив, який в більшості відносин функціонує як простий масив, але може рости, якщо його початковий або поточний розмір виявляється недостатнім. Тому можна оголосити: Using System.Collections; ... ArrayList constant = new constants(100); і якщо число об'єктів перевищить 100, це не буде мати ніякого значення. Масив буде розширено системою наскільки потрібно і як тільки в цьому виникне необхідність. Число, визначене в реченні, яке створює початковий список, є лише оцінкою очікуваного розміру масиву. У таблиці 1 наведено властивості і методи класу ArrayList.
Таблиця 1 – властивості і методи класу ArrayList
На жаль, ArrayList також має свої недоліки. Порівняно з масивами колекції ArrayList працюють набагато повільніше і займають більше оперативної пам'яті. Відбувається це через особливості колекцій, які, власне, і створюють зручність їх використання (можливість додавати і видаляти елементи з середини колекції). Якщо ви створюєте масив, то його розмір буде дорівнює кількості елементів масиву помноженій на розмір кожного елемента. Наприклад, для масиву з 10 елементами типу Integer виділяється 10*4=40 байт. Потім для зчитування елемента масиву обчислюється його положення в пам'яті на підставі номера елемента та розміру елементів і потім зчитується потрібну ділянку пам'яті. З колекціями все інакше. Кожен елемент колекції представлений не однією змінною, яка містить його значення, а структурою даних. Вона містить покажчик на дані елемента, посилання на попередній і наступний елемент колекції. Природно, така структура буде займати більше місця в оперативній пам'яті, ніж одна єдина змінна. Доступ до даних в колекції також організується по-особливому. Для отримання, наприклад, п'ятого елемента, колекція перебирає всі елементи, починаючи з першого, поки не дійде до потрібного індексу
Переглядів: 1923 |