Package Collections

..\mac\extra\collections\Collections.mac

Библиотека коллекций для языка RSL.

Создана с целью взаимодействия с объектами описанными на языке RSL в объектно-ориентированном и функциональном стилях программирования. В большинстве своём схожа с Java.collections. Для начала использования, достаточно импортировать библиотеку в макрофайл директивой import "..\\Mac\\Extra\\Collections\\Collections.mac"; Также возможен импорт отдельных макрофайлов. Изначально все коллекции поддерживают работу с элементами разных типов RSL. Однако для обеспечения лучшей производительности рекомендуется использовать в одной коллекции элементы одного типа и определить этот тип методами ListInterface.setType для списков, SetInterface.setType для сэтов, и MapInterface.setKeyType и MapInterface.setValueType для карт.

Иерархия классов. Базовый класс Iterable. От него наследуются абстрактные классы-интерфейсы определяющее общие методы.

Списки (ListInterface):

  • ArrayList - список, реализованный на основе массива TArray.
  • LinkedList - двусвязный список. Присутствуют методы стека и очереди.
  • SortedLinkedList - сортированный двусвязный список. Все элементы коллекции упорядочены в каждый момент времени согласно заданной функции-компаратору.

Множества (SetInterface), коллекции уникальных элементов.

  • HashSet - Сэт на основе HashMap. Самый быстрый по производительности вариант. Не гарантирует сохранение порядка.
  • LinkedHashSet - тоже самое что и HashSet, однако элементы будут стоять в порядке добавления.
  • TreeSet - Сэт на основе TreeMap. Элементы располагаются в порядке возрастания согласно заданной функции-компаратору.

Карты (MapInterface), коллекции для работы с парами ключ-значение.

  • HashMap - она же хэштаблица. Не гарантирует порядок элементов.
  • LinkedHashMap - упорядоченная реализация HashMap. Сохраняет порядок добавления.
  • TreeMap - реализация основанная на красно-черных деревьях. Элементы располагаются в порядке возрастания ключей.
  • ArrayMap - реализация на основе двух массивов для примитивных ключей. Занимает меньше остальных карт места в памяти. Элементы упорядочены по возрастанию ключей.

Макрофайлы

ArrayList

..\mac\extra\collections\ArrayList.mac

Реализация списка на основе массива TArray

ArrayMap

..\mac\extra\collections\ArrayMap.mac

Файл включает в себя реализацию интерфейса map через два массива

HashMap

..\mac\extra\collections\HashMap.mac

Файл включает в себя реализацию классического интерфейса map через хэш-таблицу

HashSet

..\mac\extra\collections\HashSet.mac

Файл включает в себя реализацию классического интерфейса set, коллекцию уникальных значений

Iterable

..\mac\extra\collections\Iterable.mac

Базовые классы и функции коллекций

LinkedHashMap

..\mac\extra\collections\LinkedHashMap.mac

Файл включает в себя реализацию классов LinkedHashMap

LinkedHashSet

..\mac\extra\collections\LinkedHashSet.mac

Файл включает в себя реализацию LinkedHashSet - коллекции уникальных элементов с сохранением порядка добавления

LinkedList

..\mac\extra\collections\LinkedList.mac

Файл включает в себя реализацию связного списка LinkedList и отсортированного связного списка SortedLinkedList

TreeMap

..\mac\extra\collections\TreeMap.mac

Файл включает в себя реализацию классического интерфейса map через красно-черное дерево

TreeSet

..\mac\extra\collections\TreeSet.mac

Реализация отсортированной коллекции уникальных значений

Импорты

Реализация списка на основе массива TArray

Файл включает в себя реализацию интерфейса map через два массива

Файл включает в себя реализацию классического интерфейса map через хэш-таблицу

Файл включает в себя реализацию классического интерфейса set, коллекцию уникальных значений

Базовые классы и функции коллекций

Файл включает в себя реализацию классов LinkedHashMap

Файл включает в себя реализацию LinkedHashSet - коллекции уникальных элементов с сохранением порядка добавления

Файл включает в себя реализацию связного списка LinkedList и отсортированного связного списка SortedLinkedList

Файл включает в себя реализацию классического интерфейса map через красно-черное дерево

Реализация отсортированной коллекции уникальных значений

Библиотека для динамического создания функций из строковых шаблонов

Реализованные функции-компараторы (compare и equals)

Реализация исключений и блоков try/catch/finally

Вспомогательные классы и функции для реализации ООП паттернов

Релизация функций для сортировки массива

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

Полезные утилиты для работы со строковыми переменными

bankinter

rcw

rsexts

Известные зависимые

Объекты коллекторы

Библиотека вспомогательных классов и функций в ООП и функциональном стиле

Реализация Stream Api

Имена

Any

class

..\mac\extra\OOP\OOP.mac

class

..\mac\extra\collections\ArrayList.mac

class

..\mac\extra\collections\ArrayMap.mac

macro

..\mac\extra\OOP\SortingFunc.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\Comparators.mac

class

..\mac\extra\OOP\Comparators.mac

class

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\Comparators.mac

class

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\OOP.mac

class

..\mac\extra\collections\Iterable.mac

class

..\mac\extra\OOP\Exceptions.mac

macro

..\mac\extra\OOP\SortingFunc.mac

macro

..\mac\extra\lambda\Lambda.mac

macro

..\mac\extra\OOP\Exceptions.mac

class

..\mac\extra\collections\HashMap.mac

class

..\mac\extra\collections\HashMap.mac

class

..\mac\extra\collections\HashSet.mac

class

..\mac\extra\OOP\Exceptions.mac

class

..\mac\extra\OOP\Exceptions.mac

class

..\mac\extra\OOP\Exceptions.mac

macro

..\mac\extra\OOP\OOP.mac

macro

..\mac\extra\collections\HashMap.mac

macro

..\mac\extra\collections\HashSet.mac

class

..\mac\extra\OOP\Exceptions.mac

class

..\mac\extra\collections\Iterable.mac

class

..\mac\extra\collections\Iterable.mac

macro

..\mac\extra\lambda\Lambda.mac

const

..\mac\extra\lambda\Lambda.mac

class

..\mac\extra\collections\LinkedHashMap.mac

class

..\mac\extra\collections\LinkedHashSet.mac

class

..\mac\extra\collections\LinkedList.mac

class

..\mac\extra\collections\Iterable.mac

macro

..\mac\extra\collections\LinkedList.mac

macro

..\mac\extra\collections\LinkedList.mac

class

..\mac\extra\collections\Iterable.mac

class

..\mac\extra\OOP\Exceptions.mac

class

..\mac\extra\collections\Iterable.mac

class

..\mac\extra\OOP\Exceptions.mac

macro

..\mac\extra\OOP\OOP.mac

macro

..\mac\extra\OOP\OOP.mac

macro

..\mac\extra\collections\HashMap.mac

class

..\mac\extra\collections\Iterable.mac

const

..\mac\extra\collections\Iterable.mac

class

..\mac\extra\utils\SArray.mac

class

..\mac\extra\collections\Iterable.mac

macro

..\mac\extra\OOP\Exceptions.mac

macro

..\mac\extra\OOP\Exceptions.mac

class

..\mac\extra\collections\LinkedList.mac

class

..\mac\extra\utils\StringUtils.mac

macro

..\mac\extra\OOP\OOP.mac

macro

..\mac\extra\collections\HashMap.mac

macro

..\mac\extra\collections\HashSet.mac

class

..\mac\extra\utils\StringUtils.mac

const

..\mac\extra\utils\StringUtils.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\OOP.mac

macro

..\mac\extra\OOP\Exceptions.mac

macro

..\mac\extra\OOP\OOP.mac

macro

..\mac\extra\collections\HashMap.mac

class

..\mac\extra\collections\TreeMap.mac

class

..\mac\extra\collections\TreeMap.mac

class

..\mac\extra\collections\TreeMap.mac

class

..\mac\extra\collections\TreeSet.mac

Try

class

..\mac\extra\OOP\Exceptions.mac

class

..\mac\extra\OOP\OOP.mac

class

..\mac\extra\OOP\OOP.mac

class

..\mac\extra\OOP\OOP.mac

class

..\mac\extra\OOP\OOP.mac

class

..\mac\extra\OOP\OOP.mac

class

..\mac\extra\OOP\OOP.mac

class

..\mac\extra\OOP\Exceptions.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\Comparators.mac

macro

..\mac\extra\OOP\OOP.mac