Терминология ООП: «Контейнер» и «Коллекция» - PullRequest
8 голосов
/ 29 марта 2009

Является ли C ++ термин «Контейнер» просто синонимом термина Java «Коллекция»?

Ответы [ 2 ]

14 голосов
/ 29 марта 2009

Да.

Хотя, если можно здесь предположить, термин C ++ контейнер лучше подчеркивает владение содержащимися элементами, в отличие от коллекции Java , где нет явного владения памятью (из-за мусора). сбор).

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

6 голосов
/ 29 марта 2009

Контейнер (Википедия)
Коллекция (Википедия)

Если я правильно понимаю - обычно эта разница не значительна.

Когда мы говорим о группе объектов, мы говорим «коллекция объектов».
Если мы говорим о структуре данных, которая содержит группу объектов, мы говорим контейнер.

например: std :: vector - коллекция целых или контейнерный вектор, которые содержат целые.

...