Для начинающих программистов: Список значений
Что это такое?
СписокЗначений — это расширенная версия массива.
Если массив умеет просто хранить значения, то список значений умеет:
- хранить и само значение, и его «подпись» (строку или картинку для пользователя),
- сортировать данные по одному нажатию,
- искать элементы без лишнего кода,
- легко копироваться,
- работать как с индексами, так и с перебором,
- и даже превращаться обратно в массив.
Можно сказать, что это «массив с интеллектом».
1. Создание и наполнение
Простейший пример:
Список = Новый СписокЗначений;
Список.Добавить(10);
Список.Добавить(0);
Список.Добавить(-5);
Список.Добавить(23);
Теперь список содержит 4 элемента. Каждый элемент — это не просто число, а структура с полями:
Значение
(само число),Представление
(строка для отображения).
2. Использование представлений
Мы можем добавить не только число, но и его текстовое описание:
Список.Добавить(10, "десять");
Список.Добавить(1861, "Отмена крепостного права");
Теперь у каждого элемента есть две стороны: «для компьютера» и «для человека».
Это делает список особенно удобным для выбора пользователем.
3. Перебор элементов
Для Каждого Элемент Из Список Цикл
Сообщить("Значение: " + Элемент.Значение);
Сообщить("Представление: " + Элемент.Представление);
КонецЦикла;
4. Сортировка
Список может сам себя отсортировать:
Список.СортироватьПоЗначению(НаправлениеСортировки.Возр);
В отличие от массива, не нужно изобретать «пузырьки» и прочие алгоритмы — всё готово.
5. Поиск
Можно быстро проверить, есть ли число в списке:
Найденный = Список.НайтиПоЗначению(23);
Если Найденный <> Неопределено Тогда
Сообщить("Нашёл: " + Найденный.Значение);
Иначе
Сообщить("Нет такого значения");
КонецЕсли;
6. Вставка и удаление
Список.Вставить(0, 100); // вставили в начало
Список.Удалить(0); // удалили первый элемент
7. Индексы
Как и массив, список можно обходить по индексам:
Для И = 0 По Список.Количество()-1 Цикл
Сообщить(Список[И].Значение);
КонецЦикла;
8. Копирование
Копия = Список.Скопировать();
Копия[0].Значение = 999;
Оригинал при этом не изменится. Удобно, когда нужно поэкспериментировать.
9. Преобразование в массив
Массив = Список.ВыгрузитьЗначения();
Теперь у нас обычный массив для более простых задач.
Где использовать?
- Когда нужно показать пользователю список для выбора.
- Когда у одного значения должно быть несколько «масок» (например, число и его название).
- Когда нужна сортировка и поиск без лишнего кода.
Домашнее задание
- Создайте список значений из 5 чисел. Найдите наибольшее и наименьшее.
- Сделайте список дат и выведите их текстовое представление («понедельник», «январь» и т.д.).
- Реализуйте меню выбора с историческими событиями и выведите выбранное пользователем.
Добавить комментарий