SortedLinkedList

Class (Linkedlist) SortedLinkedList (compareFun)

Сортированный связный список (в каждый момент времени). Если порядок нужен лишь однажды, производительней будет использовать LinkedList.sort()

Если не указан или null, то используется метод объекта .CompareTo(ob : ).

Аргументы конструктора класса

compareFun

- опционально ссылка на метод компаратор Compare(el1,el2) : Integer, для сравнения объектов)

Переменные класса

private var comparator;

Ссылка на функцию компаратор

private var equalsfunc;

Ссылка на функцию проверки на равенство

var size;

Размер коллекции

Методы

macro add (el : Variant) : Integer

Добавляет элемент и возвращает его индекс

macro addAll (enumerable, ind : Integer)

Добавляет все элементы enumerable в конец списка

macro addFirst (element : Variant)

Добавляет element в начало списка

macro addItems (varargs)

Добавляет все аргументы в конец списка и возвращает текущий экземпляр

macro addLast (element : Variant)

Добавляет element в конец списка

macro append (baseCollectionElement)

Добавлет базовый элемент коллекции, для списков и множеств это Variant элементы, для карт это объект типа Pair с полями key и value

macro clear ()

Удаляет все элементы коллекции

macro contains (element) : Bool

Возвращает true, если коллекция содержит элемент равный element согласно функции equalsFun

macro containsAll (enumerable) : Bool

Возвращает true, если коллекция содержит все элементы из enumerable согласно функции equalsFun

macro copy () : Iterable

Возвращает быструю копию исходной коллекции

macro equals (otherIterable) : Bool

Метод для проверки на равенство текущей коллекции и otherIterable

macro filter (predicate) : Iterable

Возвращает объект того же типа коллекции с элементами отфильтрованными согласно функции предикату predicate

macro forEach (func)

Вызывает func для каждого элемента массива, возвращает null

macro get (ind : Integer) : Variant

Возвращает элемент под индексом ind

macro getE (ind : Integer) : Node

Возвращает ноду под индексом ind или null, если индекс не верен

macro getFirst () : Variant

Возвращает первый элемент списка

macro getLast () : Variant

Возвращает последний элемент списка

macro hash () : Integer

Метод для расчета хэша коллекции. Хотя он и реализован, не рекомендуется использовать коллекцию как ключ в MapInterface

macro indexOf (element)

Возвращает индекс первого элемента равного element или -1, если элемент не найден

macro isEmpty () : Bool

Возвращает true, если коллекция пуста, иначе возвращает false

macro isSorted (compareFun) : Bool

Возвращает true, если коллекция отсортирована согласно функции-компаратору compareFun

macro join ([_delim = ","], [_prefix = "["], [_postfix = "]"]) : String

Возвращает строку из элементов коллекции, разделенных _delim, начинается с _prefix заканчивается _postfix

macro lastIndexOf (element)

Возвращает индекс последнего элемента равного element или -1, если элемент не найден

macro map (mapfunc) : Iterable

Возвращает объект того же типа коллекции с элементами преобразованными функцией mapfunc

macro max ([_comparator]) : Variant

Возвращает максимальное значение коллекции

macro min ([_comparator]) : Variant

Возвращает минимальное значение коллекции

macro newDescIterator (ind) : DescendingIterator

Возвращает новый обратный итератор

macro newInstance ()

Возвращает новый экземпляр текущей коллекции с теми же компараторами и функциями проверки на равенство

macro newIterator (ind) : IteratorInterface

Возвращает новый итератор начинающий с позиции ind

macro peek () : Variant

Возвращает первый элемент списка без удаления или null если список пуст

macro poll () : Variant

Возвращает и удаляет первый элемент списка или null если список пуст

macro push (el : Variant)

Добавляет el в начало списка

macro reduce (identity, accumulator) : Variant

Возвращает результат агрегатной функции accumulator на элементы исходного массива

macro remove (ind : Integer) : Variant

Удаляет и возвращает значение под индексом ind

macro removeAll (enumerable) : Bool

Удаляет все элементы из enumerable и возвращает true, если был найден и удален хотябы один элемент

macro removeFirst () : Variant

Удаляет и возвращает первый элемент

macro removeLast () : Variant

Удаляет и возвращает последний элемент

macro reverse () : ListInterface

Разворачивает исходный список и возращает ссылку на него

macro searchLastNode (v : Variant, finded : @Integer) : Node

Поиск ноды в обратном порядке со значением v в списке. Возвращает объект типа Node или null и, опционально,в переданный параметр finded индекс найденного элемента или -1

macro searchNode (v : Variant, finded : @Integer) : Node

Поиск ноды со значением v в списке. Возвращает объект типа Node или null и, опционально,в переданный параметр finded индекс найденного элемента или -1

macro set (ind : Integer, newValue : Variant) : Variant

Устанавливает новое значение newValue элементу под индексом ind и возвращает заменяемое значение

macro setComparator (comparefun) : ListInterface

Устанавливает функцию-компаратор comparefun и возвращает текущий список

macro setEqualsFunc (equalsfun) : ListInterface

Устанавливает функцию проверки на равенство элементов списка equalsfun и возвращает текущий список

macro setType (rslType) : ListInterface

Устанавливает необходимые для работы с конкретным rslType типом RSL comparator и equalsFunc и возвращает текущий экземпляр списка

macro sort (compareFun) : ListInterface

Сортирует исходный список согласно функции-компаратору compareFun и возвращает ссылку на него

macro subList (from : Integer, to : Integer) : ListInterface

Возвращает список состоящий из подмножества исходного, начиная с from (включительно), заканчивая to (исключительно)

macro sum ()

Возвращает сумму элементов коллекции (только для примитивов)

macro sumBy (_func)

Возвращает сумму преобразованных элементов

macro sumByProp (_propName : String) : Numeric

Возвращает сумму элементов коллекции по имени свойства объектов

macro toArray () : SArray

Возвращает массив типа SArray состоящий из элементов исходного списка

macro toScreen ()

Выводит коллекцию на экран без переноса строк

macro toScreen2 ()

Выводит коллекцию на экран с переносом строк

macro toSortedList (compareFun)

Возвращает новый объект типа SortedLinkedList состоящий из элементов исходного списка в порядке согласно функции-компаратору compareFun

macro toStream ()

Создает Stream коллекции