SArray. Класс-расширение массива TArray.

Автор:Marik
Дата:19.02.2019
Просмотров:648
Скачиваний:133
Оценка:, Оценок - 2
Скачать (zip-файл; Размер - 113096)

Обсудить в форуме

Описание

Расширение стандартного класса TArray. Реализует всю базовую функциональность, за исключением переопределенного метода sort().
Документация с примерами в комплекте (папка Documentation, запускать любым современным браузером).

Преимущества:

- Имеется возможность заполнять массив при инициализации
- Имеются дополнительные методы позволяющие легко манипулировать содержимым
- Имеются методы-цепочки (помечены тегом chain) и методы-билдеры (помечены тегом builder),
позволяющие выстраивать цепочки вызовов методов без сохранения промежуточного результата.
- Переопределен метод sort(), для улучшения производительности и чистоты вида функции-компаратора.

Пример использования:

import "../mac/extra/utils/SArray.mac";
import "../mac/extra/utils/Functions.mac";
import bankinter;

var arr = SArray(1, 2, 3); // Объявляем и инициализируем массив
arr.addAll(10, 20, 30); // Добавляем в конец еще 3 элемента
arr.push(1); // Добавляем еще 1 в конец
println(arr[0]); // Можем получать значение стандартным способом
var ind = arr.indexOf(3); // Находим элемент
arr.remove(ind); // Удаляем элемент под индексом

// Выстраиваем цепочки
arr.addAll(0, 1, 25, 10) // Добавляем еще элементы
.distinct() // Получаем уникальные
.filter(Predicates.GE(10)) // Фильтруем список, отбираем только элементы больше 10
.sort() // Сортируем
.slice(0, 3) // Отбираем три меньших элемента
.toScreen(); // Выводим на экран