| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Чем лучше пользоваться для хранения объектов |
| Автор: Delphist 17.10.2008, 14:50 | ||
Чем лучше пользоваться для хранения списка объектов TList'ом или динамическим массивов, ну т.е.:
Предпалагается хранения свыше 1000 объектов. Например где будет выше скорость поиска элемента? |
| Автор: Rennigth 17.10.2008, 16:10 |
| Delphist, Есть такая штука как TObjectList Добавлено через 1 минуту и 6 секунд массив банально не удобен, хоть и памяти занимать будет меньше, но с современными машинами это не актуально. |
| Автор: Delphist 17.10.2008, 16:13 | ||
А в скорости |
| Автор: Bose 17.10.2008, 16:21 |
| внутри TList-a тот же array |
| Автор: Rennigth 17.10.2008, 16:37 |
НУ в TList-е уже давно написан алгоритм поика эл-тов, а для массива тебе придеться писать самому, как напишешь так и будет, но имхо врятли придумаешь что-то новое что будет быстрее устоявшихся весчей |
| Автор: Delphist 18.10.2008, 23:41 |
Выявил один большой недостаток при хранение списка объектов в TObjectList или TObject, а именно при отладке. Т.е. когда я поднесу курсор мыши в режиме отладки к объекту TObjectList, то в результате мне неудастся увидеть список всех моих объектов и их свойств, зато использование дин. массива лишает меня этого недостатка, особенно это актуально для BDS2006 и выше т.к. он красиво формирует список объектов в Hint'e. Поэтому даже и не знаю стоит ли использовать TObjectList? |
| Автор: Delphist 20.10.2008, 11:11 |
| ??? |
| Автор: MetalFan 20.10.2008, 14:46 |
| напиши наследника от TObjectList, где элементами будут объекты твоего класса... |
| Автор: Christoph 20.10.2008, 16:09 |
| Как по мне...ничего лучше чем TObjectList нету. Я когда то пробывал так: А массив не актуально уже...и работать может не будет |
| Автор: MetalFan 20.10.2008, 16:56 |
| Delphist, не, эт чтото извращенно получилось... |
| Автор: Delphist 20.10.2008, 16:58 |
а ты как имел ввиду? |
| Автор: Bose 20.10.2008, 17:31 | ||
|
| Автор: Delphist 20.10.2008, 20:44 |
Интересно, где ты нашел метод GetObject в TObjectList у меня твой код не компилиться пишется Undeclared identifier GetObject |
| Автор: Bose 20.10.2008, 23:47 | ||
А головой подумать? Замени GetObject на GetItem |
| Автор: Delphist 21.10.2008, 09:16 |
Я уже догадался, но as TDynArrOfMyObj вызывает ошибку при компиляции и это понятно |
| Автор: Christoph 21.10.2008, 10:07 | ||
|
| Автор: Delphist 21.10.2008, 10:54 | ||
что-то я не понял к чему ты привел этот код |
| Автор: Delphist 22.10.2008, 13:17 |
| ??? |
| Автор: Christoph 23.10.2008, 18:06 |
| Думал то что скобки не хватает ругается.... |
| Автор: MetalFan 23.10.2008, 20:03 |
| в общем если тебе необходимо удобство при отладке в виде просмотра содержащихся данных, то конечно пользуй массив и забудь про возможности и удобства списков. |
| Автор: pseud 24.10.2008, 15:39 | ||
|
| Автор: Delphist 24.10.2008, 16:27 |
| pseud, данный код не катит т.к. Items[i] все равно будет возвращать тип TObject |
| Автор: pseud 24.10.2008, 17:02 | ||||
На форуме есть хорошая статьейка на эту тему: http://forum.vingrad.ru/forum/topic-97983.html Добавлено через 1 минуту и 57 секунд найди:
|