![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]()
Перечитываю тему массивов, т.к. на практике пришлось столкнутся с некоторыми моментами, которые я не совсем понимаю. Узнал некоторые новые вещи. Но, в то же самое время, появились некоторые непонятки.
Вот, например, имеются динамические массивы, с которыми работают посредством класса ArraySort, а есть коллекции Queue. Если с массивами я ещё когда писал на Си, работал, и назначение их я понимаю, то надобность коллекций для меня не понятна. Зачем они вообще нужны? Ведь всё можно поместить в те же динамические массивы, тем более, они даже удобнее т.к. возможность работы даже не типизированными массивами имеется. Каково применение коллекций? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Как вы добавите элемент в массив (.Add) если вы изначально не знаете сколько вам понадобится?
Придется велосипедить свой List<T>/ArrayList/std::vector/... перевыделящий память (count + capacity). Да и даже list.Add(item) явно удобнее, чем arr[count++] = item. Аналогично про удаление элемента например. А так вообще не нужно конечно, пишите на ассемблере.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 01.04.2016 в 21:41. |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]() Цитата:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
чтоб не писать велосипеды вечно. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]() Цитата:
Так вот какой резон тогда в этом случае применять метод .AddRange не понятно. Ведь это лишено всякого смысла: в динамический массив добавляем коллекцию вместо того, чтоб добавить необходимое количество элементов. Зачем? |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Непонятно о чем вы.
Начальное capacity задавать не обязательно, только в целях оптимизации если вы заранее знаете сколько понадобится. .AddRange нужен чтоб не писать цикл только для того чтоб добавить больше 1 элемента (из другой коллекции и т.п.), что в нем непонятного? (ну и заодно AddRange наверно может уменьшить количество перевыделений памяти, чем если просто куча Add)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 02.04.2016 в 11:45. |
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
какие конкретно коллекции вам непонятны?
отсутствие типизации у ArrayList играет злую шутку. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Вы о чем? Ничего непонятно.
А про AddRange, Код:
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 02.04.2016 в 12:39. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
коллекции | RAIDER_90 | Общие вопросы по Java, Java SE, Kotlin | 1 | 17.04.2012 22:02 |
коллекции Джава | tanya_m43 | Помощь студентам | 1 | 28.01.2012 02:24 |
Java коллекции | programmm | Помощь студентам | 0 | 12.11.2011 22:37 |
Коллекции | van-ok | Помощь студентам | 0 | 25.12.2009 01:47 |
Коллекции | Mike777 | Общие вопросы Delphi | 0 | 19.02.2007 11:38 |