Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 18.12.2012, 18:22
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 21  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Array - хитрореализованный список, до того хитрый, что добавление элементов с конца работает медленнее чем с 0-го (что нонсенс для Vector из С++ или List из C#)
Доступ по индексу за 0(1), удаление произвольного элемента за 0(N) - можно считать просто динамическим массивом.
В отличие от Vector - у Array доступ по индексу в 2 раза медленнее и не кидает исключений при выходе индекса за границы

Непонятно зачем, но может работать как хештаблица
Однако, если в качестве ключа в него попадёт "132423345" и сконвертится в числовой индекс - моментально огребёте с памятью. Ну и если большие числовые индексы задавать - тоже самое будет - я бы в качестве хеша не юзал.
Еще при использовании в качестве ассоциативного массива свойство lengh - вообще показывает неизвестно что, а не общее количество элементов.

Vector - Предсказуемый тип, работает практически так же как Vector из stl С++ или List из C#
Возможна типизация элементов
Но невозможны преобразования:
Код AS3:
var a:Vector<DisplayObject> = new Vector<Sprite>();// не сработает - а ведь Sprite - наследник DisplayObject
Object - он же динамический объект, он же предок всего и вся, он же Хеш-таблица
Причём, то, что он предок всего - не означает, что всё может работать как хеш-таблица. Такая вот забавная организация типов.
Если использовать как хеш-таблицу:
- любой ключ конвертирует в строку - поэтому с памятю как в случае с Array не огребёте
- но из-за этой конвертации теряет в производительности, если использовать числовые ключи
(object[13234] эквивалентно object["13234"])

Dictionary
Тоже хештаблица, но ключами могут быть любые объекты.
Со строковыми ключами работает с той же скоростью, что и Object, с числовыми не помню - но по крайней мере не шибко медленнее Object.
Применяется если в качестве ключа удобнее использовать объект, а не строку или число.

Создать новую тему   Часовой пояс GMT +4, время: 19:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:07.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.