правильный словарь / карта / дерево / хэш-контейнер во Flex - PullRequest
7 голосов
/ 06 февраля 2009

Я все больше расстраиваюсь из-за словаря Flex (который на самом деле представляет собой массив со строковыми индексами).

Тривиальные вещи кажутся невозможными, например, получение последнего элемента или даже итерация по отсортированному контейнеру по ключам (порядок кажется произвольным), а функции сортировки, кажется, беспорядок всего, если дан массив со строковыми индексами.

Существует ли лучшая, более полная библиотека контейнеров для Flex? Что-нибудь с массивами, списками, очередями, картами, мультикартами, хэш-картами и т. Д.?

Ответы [ 5 ]

8 голосов
/ 06 февраля 2009

В проекте as3ds имеется набор классов коллекций для AS3. Я не использовал их сам, но они выглядят очень способными (и я мог бы добавить, сосредоточены на производительности). Использует лицензию MIT.

Maashaack также имеет несколько классов коллекций . Они используют MPL 1.1 / GPL 2.0 / LGPL 2.1.

1 голос
/ 28 июля 2011

Не пропустите AS3Commons Collections Framework , включая несколько списков, наборов, карт и дерева. Для сравнения других библиотек посетите статью Почему нам нужен каркас коллекции в ActionScript .

1 голос
/ 06 февраля 2009

Хотя это не полная библиотека контейнеров, есть реализация HashSet для AS на 3 фунта Мозгового мозга . Я уже некоторое время пользуюсь им без каких-либо жалоб.

1 голос
/ 06 февраля 2009

Я не знаю библиотеки типов данных коллекции для ActionScript 3 / Flex, но я бы, безусловно, это оценил.

У нас есть несколько дополнительных коллекций в среде Spring ActionScript. У нас также есть несколько утилит для работы с существующими типами данных. Проверьте источники на https://fisheye.springframework.org/browse/se-springactionscript-as/spring-actionscript/trunk/core/src/main/actionscript/org/springextensions/actionscript/collections и https://fisheye.springframework.org/browse/se-springactionscript-as/spring-actionscript/trunk/core/src/main/actionscript/org/springextensions/actionscript/utils

Я хочу отметить, что словарь - это не просто массив со строковыми индексами. Это будет определение объекта в ActionScript. Словарь может содержать сложные типы в качестве ключей, а не только строк, что является большой разницей. Он также использует строгое равенство (===) для сравнения ключей.

0 голосов
/ 09 февраля 2009

В Polygonal Labs есть библиотека структур данных, которую я использовал в прошлом. Он ориентирован на разработку игр, что на самом деле означает, что он супероптимизирован. Включает в себя:

Многомерный массив, очередь, стек, хэш-таблица, дерево, двоичное дерево, дерево двоичного поиска, связанный список, куча, график, битовый вектор

У них есть шаблон итератора, реализованный на всех классах, которые будут действительно знакомы, если вы сделали, и разработка Java, и просты в освоении, если у вас нет.

Проверьте их сайт для полного описания: http://lab.polygonal.de/ds/

Вот библиотека на Google Code: http://code.google.com/p/as3ds/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...